欢迎来到天天文库
浏览记录
ID:14220935
大小:85.50 KB
页数:7页
时间:2018-07-26
《vfp中grid的使用技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、GRID的使用技巧1.如何在GRID里控制回车事件 在VFP里,GRID的默认控件都是TEXTBOX,形成了一个表格,但是在这个二维表里进行操作时,每次按回车都是往后一个单元格跳转,当到最后一列时,则继续跳到第一列,进而循环,操作很不方便。下面说明如何在GRID里的一个列里按回车使记录连续往下跳转(或可以执行其他的操作),当跳转到最后一行时执行另一个操作。1、对GRID所在的表单新增属性:cur_recn记录当前记录号cur_recc记录最大记录号2、在表单初始化,或给GRID以数据源时,就先计算出该表
2、的最大的记录数,如下:thisform.cur_recc=recc()为了一次得到当前GRID里的表的记录总数3、在GRID的AfterRowColChange事件里写:thisform.cur_recn=recn()为了得到当前的GRID里的表的记录号4、在GRID里的某列的TEXT1的KEYPRESS事件里:ifnKeyCode=13 && 当按键为回车时 ifthisform.cur_recn>=thisform.cur_recc **-- 当当前记录大于等于最大记录时,即记录已到最后一个时
3、thisform.command1.setfocus **-- 使表单上的一个命令按纽聚焦,也即可以跳出该GRID, **-- 而正常的操作很难从GRID里跳出,在这里就可以使在记录到最后时焦点跳出来 else thisform.cur_recn=recn() &&当记录还没到尾时,则... nodefault&&不做任何响应 keyboard"{dnarrow}"&&模拟键盘下箭头,使记录指针下移一个 endifendif以上所说的,只要按键盘上的上下箭头即可轻易做到在GRID中移动指针,没有
4、太大的意义。2.如何实现输完数据后按回车键,使表格中的焦点自动跳到下一行在你要判断转换的GRID的最后一列的TEXT1的keypress:IF nKeyCode=13 SELECT 你绑定表名 nRec=RECNO() SKIP IFEOF() APPENDBLANK &&在表尾加一空记录 SKIP&&记录指针到EOF() Thisform.grid1.ref
5、resh Thisform.grid1.column1.text1.SetFocus&&到最前面 ELSE GOnRec &&同一行,不要此就跳下一格 Thisform.grid1.refresh Thisform.grid1.column1.text1.SetFocus ENDIF ENDIF以上代码未经过试验,等待ingThisform.grid1.r
6、ecordsuore=Null是什么意思?Thisform.grid1.recordsuore=Null与Thisform.grid1.recordsuore=''是不是一样的?null是不等于'',但在上面例子中的结果是一样的。NULL值不是空值,也不是零值,而是未知的、不可预测的值。在数据库中,一旦将某字段设为NotNull则用户必须录入数据,否则不允许数据库更新。3.我怎样才能把网格中的文本控件替换为其它控件?(可参照收费管理系统)首先,先把原来的文本框控件删除。1)在您要修改的网格上按下鼠标右键
7、,选择弹出菜单中的“属性....”2)在弹出的属性对话框顶端的列举框中选择要替换文本框的column下的text1。3)在网格上按一下鼠标左键。4)按下键盘上的DELETE按键,删除Text1控件(网格上的ab1将会消失)。其次,在网格上添置控件。1)在您要修改的网格上按下鼠标右键,选择弹出菜单中的“编辑....”2)按一下表单控件工具栏上您要加到网格上的控件。3)在您要添置控件的column上按下鼠标左键,并放置控件。用Grid模拟Browse窗口可以将Grid结合在Form对象中,模拟成一个Brow
8、se命令窗口,当自由调整Form大小时,Grid对象也会自动调整大小。实现方法如下:1.首先设定一个Form对象,该对象必须保留其BorderStyle属性为“3-可调边框”,即设为可自由调整大小的边线属性;同时设定Resize事件如下:Thisform.Grid1.Width=this.WidthThisform.Grid1.Height=this.Height2.设计一个Grid对象于Form对象中,并设定其属性如下:RecordSou
此文档下载收益归作者所有