请问如何在GRID中加入CHECK BOX!
现在有一张表想在GRID中显示成如下形式:
ID NAME SEX AGE
□ A M 18
□ B W 20
想把最前面的列变成CHECK BOX控件,应该如何显示!
[解决办法]
请参考:
如何在GRID中加入复选框或组合框?
*-----------------------------
方法一:
1、把GRID的列数改为> 0 &&方法二不需要此项
2、右键单击GRID,编辑,在工具条中把checkbox拿到要加入复选框的列中
3、右键单击GRID,编辑,然后选择加入复选框的列。
在属性窗口上的“数据”页面上把Grid的Colum(加入复选框的Column)的currentcontrol值改成check1,
然后根据你的需要修改Sparse的值,来指定 CurrentControl 属性是影响列对象中的全部单元,还是仅影响列对象中的活动单元。
方法二:在Grid的INIT事件中:
WITH This.column4
.addobject( "Check1 ", "CheckBox ")
.currentcontrol= 'Check1 '
.sparse=.f.
.Check1.Caption= ' '
.Check1.visible=.t.
ENDWITH
*******************************************************************
同理可向GRID中添加日历控件及COMBOBOX 控件等
GRID的INIT事件
WITH This.column3
.addobject( "Combo100 ", "ComboBox ")
.currentcontrol= 'Combo100 '
*.sparse=.f.
.Combo100.STYLE=2
.Combo100.RowSourceType=0
.Combo100.visible=.t.
ENDWITH
select 表名 &&此表可以是Grid的数据源也可以不是Grid的数据源
scan
This.column3.Combo100.additem(字段名)
endscan
或
PUBLIC pcBtmc(8)
pcBtmc(1)= ' '
pcBtmc(2)= '补贴一 '
pcBtmc(3)= '补贴二 '
pcBtmc(4)= '补贴三 '
pcBtmc(5)= '补贴四 '
pcBtmc(6)= '补贴五 '
pcBtmc(7)= '补贴六 '
pcBtmc(8)= '补贴七 '
WITH THIS.COLUMN8
.ADDOBJECT( 'COMBOBOX1 ', 'COMBOBOX ')
.CURRENTCONTROL= 'COMBOBOX1 '
.COMBOBOX1.STYLE=2
.COMBOBOX1.ROWSOURCETYPE=5
.COMBOBOX1.ROWSOURCE= 'pcBtmc '
.COMBOBOX1.VISIBLE=.T.
ENDWITH