首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

vfp 能够实现表格的多重选择吗?该如何解决

2012-05-11 
vfp 能够实现表格的多重选择吗?vfp 能够实现表格的多重选择吗?Grid 表格能够被多种选中吗?我看到其他一款

vfp 能够实现表格的多重选择吗?
vfp 能够实现表格的多重选择吗?
Grid 表格能够被多种选中吗?
我看到其他一款汇递通系统中的表格样数据可以被多种选中,然后集中批处理操作,所以想问这个问题

[解决办法]
很容易实现,大致思路是:
1)在表中增加一个逻辑型字段,如字段名为YN
2)在表格控件的第一列增加复选框控件、置为当前控件,并绑定YN字段到此列复选框按钮上
至此,就可以在命令按钮CLICK事件中或者别的控件的别的事件中根据YN字段的值对选中记录进行处理

以上说的是一个表一件GRID控件的情况,如果再复杂一些,如表单上有多个GRID控件分别绑定了不同的表,也可以用此种办法进行处理
[解决办法]
1.modi comm myProg
2.将以下所有代码粘贴进去,保存
3.do myprog
4.自己研究下代码,改成自己想要的样子

以下代码引用网络

VB code
PUBLIC oFormoForm= CREATEOBJECT('clsmultigrid')oForm.ADDOBJECT('Grid1','Grid')WITH oForm.Grid1.COLUMNCOUNT = 3.HEIGHT = 288.PANEL = 1.WIDTH = 320.LEFT = 24.TOP = 24.Column1.WIDTH = 17.Column1.NAME = "Column1".Column1.Header1.CAPTION = "".Column1.ADDOBJECT('Check1','clscheck').Column1.Check1.VISIBLE = .T..Column1.CURRENTCONTROL = 'Check1'.Column1.Text1.VISIBLE = .F..Column1.REMOVEOBJECT('Text1').Column1.SPARSE = .F..Column2.WIDTH = 148.Column2.NAME = "Column2".Column2.Header1.CAPTION = "NAME".Column3.WIDTH = 114.Column3.NAME = "Column3".Column3.Header1.CAPTION = "PHONE".Column3.FORMAT = "R".Column3.INPUTMASK = "(###)###-####".SETALL('DynamicBackColor', 'IIF(selecter, RGB(0,219,219), RGB(255,255,255))', 'COLUMN').VISIBLE = .T.ENDWITHoForm.VISIBLE = .T.DEFINE CLASS clsmultigrid AS FORMTOP = 0LEFT = 0HEIGHT = 334WIDTH = 376DOCREATE = .T.CAPTION = "Form"WINDOWTYPE = 1WINDOWSTATE = 0NAME = "clsmultigrid"PROCEDURE LOADCREATE CURSOR crsTemp (selecter L, thename c(25), thephone c(10))INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "JOHN SMITH", "1111111111")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "AMY SUTTON", "2222222222")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "BILL BRADLEY", "3333333333")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "LUCY LUI", "4444444444")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "CHUCK NORRIS", "5555555555")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "BRUCE LEE", "6666666666")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "KATHERINE HEPBURN", "7777777777")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "JIM WALKER", "8888888888")INSERT INTO crsTemp (selecter, thename, thephone) valueS (.F., "SANDY LITTLETON", "9999999999")GO TOP IN "crsTemp"ENDPROCENDDEFINEDEFINE CLASS clscheck AS CHECKBOXHEIGHT = 17WIDTH = 18AUTOSIZE = .T.CAPTION = ""NAME = "clscheck"PROCEDURE CLICKIF DODEFAULT()KEYBOARD '{DNARROW}'ENDIFENDPROCENDDEFINE
[解决办法]
请参考:
<如何多选中记录?>
http://topic.csdn.net/t/20041009/21/3438733.html
[解决办法]
条件语句:FOR 条件

热点排行