开放源代码的web表格控件(转)

开放源代码的web表格控件

表格输入控件例子
序号 第一列 第二列
1
2

OTable对象
说明
本控件完全使用javascript编写,还在不断完善中。欢迎大家下载试用并提出改进意见。控件开放源代码。

1、支持上下左右键切换单元格焦点;
2、支持backspace删除整行功能:把焦点移到最后一个单元格,按backspace键可以从行尾删到行首;
3、支持alt+x删除焦点所在行;
4、支持焦点设置功能;
5、表头无限制,任意设置;
参数
v_id:表格id。
属性
hasSort:第一列是否为序号列,true则是,false则不是。

columnCount:表格总列数。

columnWidths:数组,每列中输入框的宽度。

sortColor:颜色值,字符串格式,序号单元格的底色,如#cccccc。
方法
init(v_xmldata,v_classname):初始化表格,v_xmldata为xml结构的数据;v_classname为行的样式名称。

addRow(v_classname):在表格中增加一行,v_classname为行的样式名称。

deleteRow():删除表格中最后一行。

deleteRowAt(v_rowindex):删除表格中指定行,v_rowindex为数据行索引(>=0)。

deleteAllRow():删除表格中所有行。

getData():获取表格中数据,为XML结构的数据。如果一行都为空,则忽略此行。

setFocus(v_row,v_col):设置表格焦点,v_row是表格的行索引,v_col是表格的列索引。
js下载
table.js   主对象
ajax.js   xml解析支持函数
使用例子
初始化
var ot = new OTable("tableBigPlan");
ot.hasSort = true;
ot.columnCount = 3;
ot.columnWidths = new Array("50","100","100");
ot.addRow("");

提交结果
var oHttpReq = CreateXMLHttp();
oHttpReq.open("POST", url, true);
oHttpReq.send(ot.getData());

服务端处理接收代码
System.IO.Stream stream = Request.InputStream;
System.IO.StreamReader reader = new System.IO.StreamReader(stream, System.Text.Encoding.UTF8);
string datastr = reader.ReadToEnd();

System.IO.Stream stream2 = new System.IO.MemoryStream(System.Text.Encoding.Default.GetBytes(datastr));
DataSet ds = new DataSet();
ds.ReadXml(stream2);
附:传入传出的xml数据结构
<?xml version='1.0' encoding='gb2312'?>
<data>
  <table>
    <col1>test1</col1><col2>a</col2>
  </table>
  <table>
    <col1>test2</col1><col2>b</col2>
  </table>
</data>
原文地址:https://www.cnblogs.com/zqmingok/p/1514136.html