回 帖 发 新 帖 刷新版面

主题:GRID 某列控件问题

通过 GRID 生成器可以指定某列的控件类型如 CHECK.

请教: 是否可以在表单通过用代码指定控件类型.
例如我想在 GRID 的第二列 COLUMN2 的控件类型为 CHECK. 请各位老师指教.

谢谢!

回复列表 (共6个回复)

沙发

表单.GRID1.COLUMN3.CURRENTCONTROL="CHECK1"
表单.GRID1.COLUMN3.CURRENTCONTROL="TEXT1"

如果是加上去就用“CHECK1”手动完成即可,如果运行时需要与“TEXT1”调换用上述代码。
但那个"CHECK1"也要手动加上去,这里描述有点复杂,以前有一帖如果能找到给你顶上来供参考,你也可以到我的回帖里去找。

板凳

thisform.Grid1.column1.AddObject("check1","checkbox")
thisform.Grid1.column1.CurrentControl="check1"
thisform.Grid1.column1.sparse=.F.

3 楼

谢谢两位老师.
check1调用的数据为逻辑型数据,按zx1931老师的办法,出现check1 value 数据类型不匹配的错误.贴上一段代码,帮忙看看错在哪里:

*数据表: AAA
*字段1: 姓名 - 字符类型
*字段2: 选择 - 逻辑型

THISFORM.GRID1.COLUMNCOUNT=2
THISFORM.GRID1.RecordSource='AAA'
THISFORM.GRID1.COLUMN1.ControlSource='AAA.姓名'
thisform.GRID1.column2.AddObject("CHECK1","checkbox")  && 此句出错,数据类型不匹配
thisform.GRID1.column2.CurrentControl="check1"
thisform.GRID1.column2.sparse=.F.
THISFORM.GRID1.COLUMN2.ControlSource='AAA.选择'

请各位老师指教.


4 楼

修改如下后,没有错误提示,但 CHECK1 控件却没有动作

THISFORM.GRID1.COLUMNCOUNT=2
THISFORM.GRID1.RecordSource='AAA'
THISFORM.GRID1.COLUMN1.ControlSource='AAA.姓名'
THISFORM.GRID1.COLUMN2.ControlSource='AAA.选择'
thisform.GRID1.column2.AddObject("CHECK1","checkbox")
thisform.GRID1.column2.CurrentControl="check1"
thisform.GRID1.column2.sparse=.F.

5 楼

再加上这句就有动作了:
thisform.GRID1.column2.check1.visible=.t.

6 楼

谢谢 5 楼

搞定了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册