当前位置: 代码迷 >> VFP >> []grid动态增加列的有关问题(sorry,仅有10分了)
  详细解决方案

[]grid动态增加列的有关问题(sorry,仅有10分了)

热度:1081   发布时间:2013-02-26 00:00:00.0
[求助]grid动态增加列的问题(sorry,仅有10分了)
目的实现:在grid中动态插入用户在list中选取中的字段。
说明:建了一个关联表,一列是英文字段名,一列为中文解释,由用户维护该表,实现用户根据需要命名字段。该表内容显示在list中。
SELECT   dxj

thisform.grid1.AddColumn(3)*在GRID中插入一列
thisform.grid1.Columns(thisform.grid1.ColumnCount).header1.caption=thisform.list1.value       *list列表中用户当前的选择(中文解释)为列标题。
thisform.grid1.Columns(thisform.grid1.ColumnCount).controlsource=dxj.&dxj1   *   从LIST1中选出的字段作为插入列的数据关联(list中用户当前选择的字段名放至变量dxj1中了)

thisform.grid1.Refresh    
为何新增列显不出原表中已经存在的的数据?



------解决方案--------------------------------------------------------
我很菜,说错了不要笑话我哦,我的方法如下:
在动态更改表之前要先将其 数据源RECORDSOURCE设为空,然后增加、减少或修改列属性,完成之后再将RECORDSOURCE设为该数据表,刷新即可。
我没试过,但好像在网看过别人介绍过。
------解决方案--------------------------------------------------------
SELECT dxj
thisform.grid1.AddColumn(3) &&在GRID中插入一列
thisform.grid1.Columns(thisform.grid1.ColumnCount).header1.caption=thisform.list1.value &&list列表中用户当前的选择(中文解释)为列标题。
THISFORM.Grid1.Columns(THISFORM.Grid1.ColumnCount).Name = "NewColumn "
THISFORM.Grid1.NewColumn.ControlSource = "dxj.&dxj1 " && 从LIST1中选出的字段作为插入列的数据关联(list中用户当前选择的字段名放至变量dxj1中了)
thisform.grid1.Refresh