Vfp9grid的用法

Vfp9grid的用法

ID:40583561

大小:16.50 KB

页数:5页

时间:2019-08-04

Vfp9grid的用法_第1页
Vfp9grid的用法_第2页
Vfp9grid的用法_第3页
Vfp9grid的用法_第4页
Vfp9grid的用法_第5页
资源描述:

《Vfp9grid的用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Vfp9grid的用法Grid是Vfp中功能十分强大的常用控件之一,它与Browse比使用更方便灵活、功能更强大,正因为如此,要全面掌握并用好它还得下一番工夫,我也没完全掌握它,下面只是我在常规用法上的一点体会,同时在此感谢网友熊昕(HR)的大力支持,也十分希望其他网友能鼎立相助。1.如何使已逻辑删除的记录从Grid中彻底删除(pack)?我们知道在当SETDELEON时,可以使已逻辑删除的记录从Grid中隐藏起来,但并没有真正从数据表中删除,只有执行了pack命令,才真正删除这些记录,然而当Grid绑

2、定该数据表时,执行pack命令,会使Grid出现一片空白,究其原因,是因为执行pack命令时,系统会先关闭该数据表,执行完pack再打开,而绑定Grid的数据表一旦关闭,Grid由于失去了数据来源,就会出现一片空白,即使再打开也无济于事,除非重新创建和设置Grid的各项属性。知道了它的原理,那也就有了解决的办法:A.用代码重新创建Grid,并设置其各项属性:thisform.addobject('grid1','grid')thisform.grid1.visible=.f.withthisform.g

3、rid1.top=30.left=10.width=240.columncount=10.height=203.deletemark=.f..scrollbars=2.recordmark=.f..column1.width=150.recordsource='shjb'.column1.controlsource='shjb.name'.column1.currentcontrol='text1'.column1.alignment=0.column1.header1.caption='单位'.col

4、umn1.header1.alignment=2.column2.width=80.......column10.width=80endwiththisform.grid1.visible=.t.thisform.grid1.setfocus可以看出用这种方式比较麻烦,ColumnCount属性等于几,就得设置几个,调试不方便。B.既然关闭数据表不行,那我们可不让它关闭,只要能达到彻底删除记录的目的就行:selexxx  &&XXX=绑定的数据表copyTOlsshjbfornotdeleted()*将

5、没有删除标志的记录复制到lsshjb.DBFzap&&删除所有记录,zap命令不关闭库Appendfromlsshjb*再把刚才没有删除记录的lsshjb.DBF追加到XXXthisform.grid1.setfocus&&刷新grid可以看出这种方式简单,是利用了zap命令不关闭数据表的特性,其速度和PACK相差无几。2.如何突出显示符合要求的记录?Grid有个SetAll方法,用来为Grid中的所有控制指定一个属性设置。Grid还有个AfterRowColChange事件,当用户移到表格的另一行或列

6、时,新单元获得焦点以及新行或列中对象的When事件发生后,发生此事件。如果新行或列中对象的When事件不返回“真”,则不触发AfterRowColChange事件。A.使获得焦点的整个一行随着焦点的上下移动,而用不同的前景色突出显示当前行。在Grid的AfterRowColChange事件里写:this.SetAll('DynamicForeColor',iif(this.activerow=recn(),RGB(0,128,64),RGB(0,0,0))','Column')B.使符合条件的整个一行,

7、即使Grid没有焦点也用不同的前景色突出显示。比如一绑定Grid的数据表,有一字段BH,另有一Text控件,那我们可以在Text.LostFocus事件里写:thisform.grid1.SetAll('DynamicForeColor',;'iif(Allt(Text.Value)=recn(),RGB(0,128,64),RGB(0,0,0))',;'Column')thisform.grid1.RefreshC.使整个一列突出显示:比如thisform.grid1.Columns(1).ForeC

8、olor=RGB(255,0,0)使GRID的第一列全部为红色前景色。当GRID等控键的ReadOnly=.T.时,如果用户想改变其值,系统会出现“此控件只读!”的提示,如果我们不想让其出现,则:setnotifyoff如果在TEXT的Valid中判断其值不符要求而RETU.F.时,系统也会出现“无效输入”的提示,除用上面的办法可避免其出现外,如果用RETU0来代替RETU.f.同样可避免其出现。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。