最近正在制作一个表格控件,但一个人的经验毕竟有限,很想听听大家在使用各种表格控件的时候感觉最贴心或者是最恶心的方案。正在制作的表格支持样式单,支持自定义编辑器,同时并打算支持表格嵌套。不过因为不想搞得太复杂,所以不打算支持OLE。不知大家对这点怎么看。一个关于我的表格的相关信息已经在我的主页上,欢迎大家访问:http://www.silentsea.net/candybox/index.php此外就是送给跟我一样苦等WoW中的各位一张不久前自己画的图片:http://www.silentsea.net/temp_data/naga_archer.jpg。该图片曾经刊登在《魔兽世界中国》的网站FanArt精选中,当无违规之处。斑竹手下留情:P

解决方案 »

  1.   

    别搞太臃肿了,我觉得有表格嵌套,拆分融合,打印及预览就很好了,别做成Excel了。
      

  2.   

    报表不过偶还是喜欢用EXCEL.控制起来比较方便.用户在使用的时候调整格式也比较方便。并且可以对表格进行锁定...
      

  3.   

    楼上的也可以设计成支持Excel导出嘛。
      

  4.   

    可以参考一下EasyGrid,不过这个控件还有许多要做
      

  5.   

    最贴心的莫过于提供脚本语言的支持,如FastReport。
    还有预览时也能调整列宽。
      

  6.   

    chuchu(维他命C):
    your sugestion ist pretty cool!!!
      

  7.   

    请参考CXGRID吧,功能非常强大,你要吸取其精华,定能取得骄人的成功!
      

  8.   

    用表格控件最舒服的还是Word !~_~
      

  9.   

    表格好像分两种
    1.自由表格,可以任意合并、拆分,可以控制每一格的样式。对于这种表格想自动排序或者其它类似功能,就很难了。像XLGrid,EasyGrid,TopGrid.
    2.规则表格,每行或每列的样式相同。像StringGrid,DBGrid,DBGridEh,这种表格可以实现很强大的功能。
    AdvStringGrid,CxGrid,VerticalGrid是第二种的简单扩展。如果能进一步扩展一下,行或列可以定义成一种视图,即像第一种表格那样。
    也可以在第一种表格的某一格中嵌套第二种表格,并且支持打印嵌套的表格。
    最后要解决的是如果简单地访问这么复杂的层层嵌套的表格。当然是定义一种类结构来访问,不必一个一个网格的枚举.
      

  10.   

    谢谢liangjinliang的意见。[Ge]表格主要是为了满足第一种需求。其实第二种表格可以看做是第一种的一个再封装。主要是为了简化一些重复的功能。就像DBGrid一样。至于排序,倒是没那么复杂。其实调用排序方法的主动权在开发者手里,能不能排序只看一个属性设置罢了。访问机制确实是重中之重。不但要避免隐藏太多的细节损害了灵活性,也不能只提供底层操作而导致表格繁琐难用。其实在我的上一个表格TSSGridEx中已经有了Range的概念。这一概念在[Ge]中将得到进一步的增强。此外说一说cxGrid。我对cxGrid了解不多。但cxGrid确实提供了不少令人兴奋的,有创造性的功能。[Ge]并非是要提供cxGrid那么多的功能,它更多的时候是作为一个二次开发的基础。除了能够满足一般应用的需要,在此基础上大家也能够很方便的开发出cxGrid系列所提供的类似的功能。
      

  11.   

    我也没有做过某一格中嵌套第二种表格,请参考下面第2种方法,有的借助第三方控件了:表格好像分两种
    1.自由表格,可以任意合并、拆分,可以控制每一格的样式。对于这种表格想自动排序或者其它类似功能,就很难了。像XLGrid,EasyGrid,TopGrid.
    2.规则表格,每行或每列的样式相同。像StringGrid,DBGrid,DBGridEh,这种表格可以实现很强大的功能。
    AdvStringGrid,CxGrid,VerticalGrid是第二种的简单扩展。如果能进一步扩展一下,行或列可以定义成一种视图,即像第一种表格那样。
    也可以在第一种表格的某一格中嵌套第二种表格,并且支持打印嵌套的表格。
    最后要解决的是如果简单地访问这么复杂的层层嵌套的表格。当然是定义一种类结构来访问,不必一个一个网格的枚举.
      

  12.   

    ppayun(~云彩)你说的两类Grid其实功能并没有重叠,应该都可以统一到一个Grid里。个人其实并不是十分喜欢根数据榜定的表格,那样虽然简单,但是给开发者提供的自由度太少了。
      

  13.   

    大家不防看看这个表格控件LgxGrid,试一下它在Delphi下的表现如何.中文技术帮助文档: http://www.cy31.com/free/lgxysl/lgxgrid/index.htm
    下载是址: http://www.cy31.com/free/lgxysl/lgxgrids.rar
    界面效果地址: http://www.cy31.com/free/lgxysl/xgt.JPG
      

  14.   

    看了一下图片,没有安装。例子也运行不起来……功能好像不是太多,不过最基本的应用应该能够满足了。如果支持的编辑器类型更多的话会好些。我在自己最初的那个表格中内建了包括文本、数值、枚举、时间日期、逻辑变量等在内的多种风格设置。不过因为当时经验不足,还有改造Delphi控件的局限性,所以在结构上不够干净,因而扩展起来也很麻烦。我打算在[Ge]中内建一套“寄生”控件的机制(类似TGraphicControl),使得所有的要素都能够为自己所控制,同时也能够使扩展更加方便。
      

  15.   

    例子也运行不起来……???
    要安装了才能运行的,例子是C#的,不是delphi的.
      

  16.   

    我已经安装了VS.NET,不过一开始运行的时候就出现一个COMException要求Debug。不知道是不是我的数据库设置不对的原因……
      

  17.   

    COMException异常应该与我的控件无关
    当你运行工程时,应出现"Form1.cs*"和"Form1.cs[设计]"这两个页,选择"Form1.cs[设计]"页,应出现一个窗体,里面最大的一个就是LgxGrid控件的实例,这时如果它已经显示了一个表格列,那么说明问题与控件无关,是你的vs.net的设置的问题.
    特别提出,在运行示例工程前,你应该运行控件包中的setup,把控件安装到系统目录下(9x为system,Nt系列为system32).
    你可以在delphi中创建一个实例试试.