标题:表格中加复选框问题
只看楼主
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
按照sywzs 给出的思路引深,把Check1绑定的数据源、及其所在Column1的currentControl都保存、恢复就可以了。当然数组中的元素也要随之改变。

相互学习,互相交流,共同提高。
2009-09-27 16:38
wsshilian
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2009-8-20
得分:0 
回复 8楼 sd_tysd
我想的是先在复选框选定要删除的记录,然后点删除按钮删除
2009-09-27 20:42
wsshilian
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2009-8-20
得分:0 
回复 11楼 qjbzjp
我?thisform.grid1.ColumnCount命令怎么输出为0啊?
2009-09-27 21:10
wsshilian
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2009-8-20
得分:0 
回复 7楼 hgfeng1984
你的方法我试了,不行啊,一是表格变形,二是复选框还是没有了,变成普通字段了
我看别人说用thisform.grid1.column1.currentcontrol=‘check1’,从新把列设为复选框,但我运行后说column1-currentcontrol:表达式计算结果为一非法值,不知道为啥子?
2009-09-27 21:38
sd_tysd
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:81
专家分:319
注 册:2009-7-23
得分:0 
回复 12楼 wsshilian
我也想学学在表格中增加控件的方法。
2009-09-27 22:15
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
以下是引用wsshilian在2009-9-27 21:10:26的发言:

 我?thisform.grid1.ColumnCount命令怎么输出为0啊?
在这条命令之前还要添加Check控件,例如:.grid1.column1.AddObject(ZDM(1,1),"CheckBox")

相互学习,互相交流,共同提高。
2009-09-27 22:43
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
得分:0 
click 代码如下, 供参考~

程序代码:
*cmd.click
*     para ls
     sele 1
     copy to &temp\ls for 测=.f.
     zap
     appe from &temp\ls
     go top
     thisform.grid1.refresh
  
 
测试结果图:
 
  
选定  zid=2,4,6,8的记录

 
 
删除了  zid=2,4,6,8的记录

 
 
点击 zn表头,排序后, 再选定 zn>100的记录

 
 
删除了  zn>100的记录

 
2009-09-28 01:35
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
得分:0 
17楼的办法简单可行。

相互学习,互相交流,共同提高。
2009-09-28 13:52
sd_tysd
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:81
专家分:319
注 册:2009-7-23
得分:0 
回复 17楼 茵梦湖
还是没有在表格中添加控件的方法,如果只是为了删除记录,完全可以不用PACK,可以用SET DELETED ON 使有删除标记不参与操作,在关闭表单时UNLOAD事件在执行PACK。
很久以前都是程序中加减控件,忘了源程序后来都没了,谁贡献一段=源代码咱也学学。
2009-09-28 18:14
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
得分:0 
以下是引用sd_tysd在2009-9-28 18:14:53的发言:

还是没有在表格中添加控件的方法,如果只是为了删除记录,完全可以不用PACK,可以用SET DELETED ON 使有删除标记不参与操作,在关闭表单时UNLOAD事件在执行PACK。
很久以前都是程序中加减控件,忘了源程序后来都没了,谁贡献一段=源代码咱也学学。
 
 
假设: 表格第5列为逻辑型, 字段名为"是否", 在源程序中添加 "checkBox"的源代码如下, 供参考~~~我从未用过 面向对象的添加表格控件, 你可参照着添加, 或等有其他人详告 面向对象的表格控件的添加方法~~~


程序代码:
proc grid1.init
     with this.Columns(5)   &&是否
         .AddObject("是否","checkBox")
         .是否.Visible =.t.
         .是否.caption =""
         .CurrentControl ="是否"
         .Sparse =.f.
         .width =30
     endwith
     
 
上述代码(面向过程)测试图:

 
 


[ 本帖最后由 茵梦湖 于 2009-9-28 19:46 编辑 ]
收到的鲜花
  • sd_tysd2009-09-28 23:08 送鲜花  5朵   附言:终于解决了添加控件的方法
2009-09-28 19:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-286952-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025867 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved