ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:85.50KB ,
资源ID:3263620      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3263620.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VFP中GRID的使用技巧.doc)为本站会员(11****ws)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

VFP中GRID的使用技巧.doc

1、GRID 的使用技巧1.如何在 GRID 里控制回车事件 在 VFP 里,GRID 的默认控件都是 TEXTBOX,形成了一个表格,但是在这个二维表里进行操作时,每次按回车都是往后一个单元格跳转,当到最后一列时,则继续跳到第一列,进而循环,操作很不方便。下面说明如何在 GRID 里的一个列里按回车使记录连续往下跳转(或可以执行其他的操作) ,当跳转到最后一行时执行另一个操作。、对 GRID 所在的表单新增属性:cur_recn 记录当前记录号cur_recc 记录最大记录号2、在表单初始化,或给 GRID 以数据源时,就先计算出该表的最大的记录数,如下:thisform.cur_recc=re

2、cc()为了一次得到当前 GRID 里的表的记录总数3、在 GRID 的 AfterRowColChange 事件里写:thisform.cur_recn=recn()为了得到当前的 GRID 里的表的记录号4、在 GRID 里的某列的 TEXT1 的 KEYPRESS 事件里:if nKeyCode = 13 FROM gzhz WHERE danwei = this.value AND yea = thisform.cboyea.Value ;INTO dbf dwgz ORDER BY monthisform.grid1.RecordSource = dwgz其实就是:先 hsiform

3、.grid1.recordsource = null经过表操作(删除、变动等)后 hisform.grid1.recordsource =dbfname5.关于 Grid 的绑定数据源问题(用临时表绑定)thisform.grid1.recordsource=“SELECT 学号,姓名 FROM tblStudent INTO CURSOR temporarythisform.grid1.recordsource=“temporary“thisform.grid1.refresh()具体解释如下:thisform.grid1.recordsource=“这一行的目的是让 grid1 在整个SE

4、LECT 学号,姓名 FROM tblStudent INTO CURSOR temporary期间不随 temporary 表的变化而变化 ,INTO CURSOR temporary 实际上有多个动作,先清除原临时表 temporary,再生成新的 temporary 表,thisform.grid1.recordsource=“这行的目的是让 GRID1 在全过程中和临时表 temporary 断开,不受它的影响.当全部操作完后再用thisform.grid1.recordsource=“temporary“连接上去,最好在这句前加上一句,select temporarygo top这样

5、如果 temporary 有多条记录的话不会出现指针在末尾而看不到第一条记录的情况( 不好看),thisform.grid1.refresh()这句基本上可以不要的 ,在大多数情况下不会出错,只有在查询后紧跟其它对 grid1 数据集调用指令的会出错.6.grid 控件的使用技巧(应用 setall()方法统一设置)(1)禁止用户用鼠标去调整各个 column 的位置顺序 在 grid 的 init 事件程序中输入以下代码: this.setall(“movable“,.f.,“column“) (2)禁止用户用鼠标去调整各个 column 的宽度 在 grid 的 init 事件程序中输入以

6、下代码: this.setall(“resisable“,.f.,“column“) (3)使 grid 中各个 column 的标题文字自动居中 在 grid 的 init 事件程序中输入以下代码: this.setall(“alignment“,2,“header“) (4)建立求平均栏 假设一个存放了成绩数据表(包括:姓名、语文、数学、政治字段) ,欲在 grid 中增加一个“平均分” 直栏,只需将 grid 的 columncount 属性加 1,然后将“平均分”栏的controlsource 属性设为如下: controlsource=(语文+数学+政治)/3 (5)根据用户选定的

7、column 进行排序 有时希望单击 column 的标题,就以此 column 的字段进行排序显示记录。我们可以在各个column 的 header 对象的 click 事件中,将数据环境中的 cursor 对象的 order 属性设定成根据这个 column 的字段建立的索引名称,然后再调用 grid 的 refresh 方法即可。例如:thisform.dataenvironmnet.cursor1.order=“姓名“ thisform.grid1.refresh (6) Grid 对象中焦点行的动态显示 Grid 对象中当数据记录移动时,用颜色动态变化显示相对光标所在记录的位置,可以

8、在Grid 对象的 afterRowColChange 事件过程中加入如下内容: this.setall(“dynamicbackcolor”,“iif(this.activerow=recno(),rgb(0,0,255),rgb(255,255,255)”,“column”)。(7)在网格中交替显示颜色记录号有序排列时,可以在网格的列中交替显示白色和灰色的记录,代码如下:THIS.SETALL(“DynamicBackColor“,“IIF(MOD(RECNO(),2)=0,RGB(255,255,255),RGB(223,250,253)“,“Column“) &设置隔行的不同背景颜色

9、:。(8) 符合条件的记录显示颜色进行查询时,想在网格中动态地显示符合条件的记录的颜色,可以充分利用DynamicBackColor 和 DynamicForeColor 特性。例如:在宅基地管理系统中,使被注、撤销的记录呈现红色,可在 grid1 的 init事件和 afterrowcolchange 中添加下列代码 : (注意:加不加 ,“column“都可以)this.SetAll(“DynamicforeColor“,“IIF(是否被注(撤)销=是,rgb(255,0,0),rgb(0,0,0)“) &使被注撤销的记录显红色(9)设置多种颜色(无规律性)例如:在宅基地管理系统中,使被注

10、、撤销的记录呈现红色,可在 grid1 的 init事件和 afterrowcolchange 中添加下列代码 : (注意:加不加 ,“column“都可以)this.SetAll(“DynamicforeColor“,“IIF(是否被注(撤)销=是,rgb(255,0,0),rgb(0,0,0)“) &使被注撤销的记录显红色主要是针对一个表 GRID 里,当记录很多时,而且某些记录具有特定的属性时,我们需要设置颜色来区分这些数据,如下代码可以在刷新或初始化表单时,设置其属性。thisform.Grid1.SetAll(“DynamicBackColor“,“IIF(type=1,iif(ty

11、pe=2,iif(type=3,rgb(0,128,0),rgb(192,192,192),rgb(255,0,0),rgb(255,255,255)“)如上代码可以说明,如果某记录中有一个字段 type,那么根据这个字段的数据值,可以显示不同颜色,可以转换成如下公式:iif(条件 1,iif(条件 2,iif(条件 3,iif(条件 4,iif(条件 5,.iif(条件 N,颜色 N,颜色 n-1).,颜色 5,颜色 4),颜色 3),颜色 2),颜色 1),其他颜色)(10)用 SetAll 方法。例如,你决定为全部网格中的标题设置 9 号宋体。将以下代码放入网格的 Init 事件: TH

12、IS.SETALL(“FontName“,“Arial“,“Header“)(11)其他(在土地抵押管理系统中使用的)this.setall(“forecolor“,rgb(0,0,0),“header“) &改变 grid 列头的前景色this.setall(“backcolor“,rgb(202,225,213),“header“) &改变 grid 列头的背景色this.setall(“alignment“,2,“header“) &使 grid 中各个 column 的标题文字自动居中this.setall(“alignment“,2,“column“) &使 grid 中各个 col

13、umn 内的文字自动居中this.setall(“resizable“,.f.,“column“) &禁止用户用鼠标去调整各个 column 的宽度this.setall(“movable“,.f.,“column“) &禁止用户用鼠标去调整各个 column 的位置顺序7.怎么才能让 grid 的光标自动移动到要编辑记录上?如 grid 显示的表为 aaaa 记录有:学号 姓名001 王一002 王二003 王三。 。 。 。 。 。240 王动。 。 。 。 。 。 在表单 textbox 中输入“240“后,让光标自动到学号为“240 ”的记录(且 grid 能够自动滚动到此记录显示-)

14、在 cmdGo 的 click 事件中,用以下代码:sele aaloca 学号=thisform.textbox.valuethisform.grid.setfocus8、我怎样才能把网格中的文本控件替换为其它控件?答:首先,先把原来的文本框控件删除。1:在您要修改的网格上按下鼠标右键,选择弹出菜单中的“属性.”2:在弹出的属性对话框顶端的列举框中选择要替换文本框的 column 下的 text1。3:在网格上按一下鼠标左键。4:按下键盘上的 DELETE 按键,删除 Text1 控件( 网格上的 ab1 将会消失) 。其次,在网格上添置控件。1:在您要修改的网格上按下鼠标右键,选择弹出菜单

15、中的“编辑.”2:按一下表单控件工具栏上您要加到网格上的控件。3:在您要添置控件的 column 上按下鼠标左键,并放置控件。9.如何在表格控件中用颜色区分特定的记录?在 GRID 表格里不同的条件可以用不同颜色的背景或字体来分开吗?回答是肯定的。那么如何实现呢?在 VFP 里有几个有关表格的属性:Column.DynamicBackColor = cExpressionColumn.DynamicForeColor = cExpression它们是用来改变表格控件中某个单元格背景和前景的色彩。另外还有两个相关属性:Grid.SetAll(“dynamicbackcolor“, “RGB 值“

16、, “Column“)Grid.SetAll(“dynamicforecolor“, “RGB 值“, “Column“)它们是用来改变整个表格的背景和前景颜色的,可用它们来对颜色进行表格初始化。下面的示例很简单,就是对一个表格中年龄大于 30 岁的记录用红色加以标记。对表单 FORM1 的 Activate 事件编程如下:oGrd = THISFORM.grdoGrd.SetAll(“dynamicbackcolor“, “, “Column“)oGrd.SetAll(“dynamicforecolor“, “, “Column“)oGrd.SetAll(“dynamicforecolor“

17、, “RGB(0,0,0)“, “Column“)FOR i = 1 TO oGrd.ColumnCountIF i = 4oGrd.Columns(i).dynamicbackcolor = “IIF(age30, RGB(255,0,0), RGB(255,255,255)“ENDIFENDFORoGrd.Refresh在 GRID 表格里不同的条件可以用不同颜色的背景或字体来分开吗?回答是肯定的。那么如何实现呢?在 VFP 里有几个有关表格的属性:Column.DynamicBackColor = cExpressionColumn.DynamicForeColor = cExpress

18、ion它们是用来改变表格控件中某个单元格背景和前景的色彩。另外还有两个相关属性:Grid.SetAll(“dynamicbackcolor“, “RGB 值“, “Column“)Grid.SetAll(“dynamicforecolor“, “RGB 值“, “Column“)它们是用来改变整个表格的背景和前景颜色的,可用它们来对颜色进行表格初始化。下面的示例很简单,就是对一个表格中年龄大于 30 岁的记录用红色加以标记。对表单 FORM1 的 Activate 事件编程如下:oGrd = THISFORM.grdoGrd.SetAll(“dynamicbackcolor“, “, “Column“)oGrd.SetAll(“dynamicforecolor“, “, “Column“)oGrd.SetAll(“dynamicforecolor“, “RGB(0,0,0)“, “Column“)FOR i = 1 TO oGrd.ColumnCountIF i = 4oGrd.Columns(i).dynamicbackcolor = “IIF(age30, RGB(255,0,0), RGB(255,255,255)“ENDIFENDFORoGrd.Refresh

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。