选取合适的dHtml Grid方案

目前网上主流的有四种方案:

1 dhtmlxGrid
http://www.scbr.com/docs/products/dhtmlxGrid/index.shtml
免费版可以填充表格,表格也非常漂亮。但是无法得到数据,或者将修改过的表格内容序列化成xml,只有专业版才可以。

2 activewidgets-grid 1.0.0
http://www.activewidgets.com/
功能非常强大,甚至可以分页,界面也有好看的皮肤。但1.0 同样无法取数据。2.0也不是免费的,

3 DHTMLGrid Ver0.92
http://dhtmlgrid.sourceforge.net/
功能及其简单,界面比较难看

4 os3grid 0.6
http://os3grid.sourceforge.net
功能还可以,不过界面简单。虽然架构不好,但是可以扩展,而且毕竟是LGPL的许可。

最终我还是选用os3grid来做工资录入界面.

创建界面的代码为:
    // Create an OS3Grid instance
    var g = new OS3Grid ();

    // Set the callback for modifications
    g.onchange = row_modified;

    g.set_size ( "400px", "200px" );
    
    // Grid Headers are the grid column names
    g.set_headers ( 'nick', 'name', 'email addr' );

    // If contents is bigger than container, Grid will automatically show scrollbars
    g.set_scrollbars ( true );

    // The grid will have a solid border (these are CSS attributes)
    g.set_border ( 1, "solid", "#cccccc" );

    // Now, we add some rows
    g.add_row ( "fsoft", "Fabio Rotondo", "fsoft (@) sourceforge (dot) net" );
    g.set_row_attr ( -1, 'magic', 'magic-fsoft' );
    g.set_row_attr ( -1, 'changed', 'NO' );

    g.add_row ( "nick", "Nick Fury", "nick (@) sourceforge (dot) net" );
    g.set_row_attr ( -1, 'magic', 'magic-nick' );
    g.set_row_attr ( -1, 'changed', 'NO' );

    g.add_row ( "john", "John JJ Jameson", "john (@) sourceforge (dot) net" );
    g.set_row_attr ( -1, 'magic', 'magic-john' );
    g.set_row_attr ( -1, 'changed', 'NO' );

    g.add_row ( "reds", "Mary Jane Watson", "mj (@) sourceforge (dot) net" );
    g.set_row_attr ( -1, 'magic', 'magic-mj' );
    g.set_row_attr ( -1, 'changed', 'NO' );

    g.add_row ( "white", "Barry White", "barryw (@) sourceforge (dot) net" );
    g.set_row_attr ( -1, 'magic', 'magic-barryw' );
    g.set_row_attr ( -1, 'changed', 'NO' );

    // Enable sortable rows
    g.set_sortable ( true );

    // Enable highlight of rows with the mouse
    g.set_highlight ( true );

    g.set_col_editable ( 1, "txt" );
    g.set_col_editable ( 2, "txt" );

    g.sort_on_edit = true;

    // Show the grid replacing the original HTML object with the "grid" ID.
    g.render ( 'grid' );

取得数据的代码,这是最关键的

     var l = g.length ();
     var t;
     var data, attrs;
     var s = "";
     var i, v;

     for ( t = 0; t < l; t ++ )
     {
      data = g.get_row ( t );
      alert(data[0]+data[1]+data[2]);

     }

1) 以前很想做关于自定义界面的东东,但是一直都在用PB的公司上班(目前都是), 时间又紧就一直没有做了,前段时间在做一个系统时,觉得有必要采用灵活多 变的自定义界面方式来实现(觉得还是delphi这些方面强,pb可能不好实现), 从技术上来说采用控件在窗口上拖拉来实现也不 会太难。由于我接触的财务比较多,觉得还是用表格来实现好些。中国财务的 填写多是表格!我也看到网上也有用 XLGrid 做成功的,好象这个东东不能在单 元格中嵌入表格,列表框之类的,不能实现主从表录入(好象是啊)。2) 如果自己来做表格控件,工作量较大。我以前用过王寒松的表格,觉得还是可以, 但是觉得不能象Excel而是类似于Word的表格,这是本身设计思想的结果,最后还 是选用了EasyGrid。 该控件是由Delphi中Grids的修改过来的。而且也改的很好。3) 由于时间紧,而且现在手中有项目要做(都拖了快一周了),因此作的很简单。 好多东西都没有作好,还有很多要完善,目前只是简单的实现了单元格连接了字段 和字段标签以及在单元格中嵌入表格,目的实现主从录入。嵌入的表格在IDE 环境中可以保存,但是在运时期表格的保存还没有做,而且需要做一个在运时期。 的编辑器,可以在运时期对表格编辑。同样单元格还可以嵌入图片和ListBox,TreeView。 但是现在确实不能再写了,公司的事还是要作的,否者饭碗丢了,就掺了。我算了一下 要作的基本差不多,还要三周时间,有时间的话我一定会写完的。我个人分析一下: 用这个东东再结合语法解析器,来实现开发平台可性是很高的。4) 经常看到在网上有人要计算表达式,顺便把我以前写的表达式解析器也送上来。 可以计算字段和数值的混合运算,支持If。最多支持两个数据集的字段运算。 改写人 : liuzhigang 地址 : 四川.成都 (德阳) Email : lzg_0625@yahoo.com.cn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值