Delphi AdvStringGrid表格保存和TClientDataSet发生关系的构想。

 
在实际运用中,用到了TMS的TAdvSpreadGrid表格,这个表格和CDS没有关系。造成了在一些操作上的被动性(比如:移动,隐藏,增加字段)

我个人想对于程序,我进行如下处理:

1)把定义一个类,存储字段的信息,如下:

   TDefDbField = class

         FieldCode: string;

         FieldName: string;

        .....其他的一些控制信息,(是否显示等)

   end

2)定一个TStringList,在其中把所定义的字段类,全部存储到这个TStringlist列表中。

3)循环StringList,通过表格的CellName属性,在Titile中如 Grid1.CellName[col, row] := FieldName;  这样做的目的是存储字段的Code;

4)然后把查询出来的数据填充到对应的表格中,这样,填充两份 例如 Grid1.Cells[col, row] := '内容';  Grid1.CellName[col, row] := '内容',

    如果表格是正常状态这么填充,如果不是的话,看是哪种类型:

       (1)复选框:Grid1.SetCheckState(col, row, true),   Grid1.CellName[col, row] := '内容' .

       (2)下来列表:Grid1.Combobox....  Grid1.CellName[col, row] := '内容' .

        类似就是这种情况吧。

5)在进行别的操作保存前,先进行把表格的数据进行更新到CellName,这样在保存的时候关注这个表格的CellName单元就行了。

    这样我认为就可以实现一般所说的功能了。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页