全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VFP GRID技巧 Spinner在GRID中的运用利用Spinner控件可以很好的来进行数据的输入控制,尤其我们利用GRID控件来输入数据时,因为GRID不能很好的进行控制,所以很多时侯需要自己对她做些修改,那么将Spinner控件放入GRID时,就会遇到一个不能很好的进行跳行问题,除了用鼠标以外,很难找到方法使光标下移一行,因此本文在此做个介绍,以回车来使光标自动下移表格行。将一个Spinner控件放入GRID的TEXT控件位置,默认会以Spinner控件作优先控件。在该控件的KeyPress事件中,写如下代码:If nKeyCode = 13NoDefaultSele GRID所绑定的数据源名称SkipIf eof()ThisForm.cmd1.SetfocusEndIfEndIf 这样的话,当光标在spinner中,输完数据后,按回车,就自动跳到下一行,当移到最后一行时,当然也可以做添加一行的处理,而这里是焦点聚焦到一个按纽上。-关于在VFP中GRID里颜色设置问题1、只设置一条记录颜色(有选择性)主要是针对一个表GRID里,当我们选择了某个记录时,要使这个记录高亮显示,以区别其他记录,方便查看。在GRID的AfterRowColChange事件中,写入如下代码LPARAMETERS nColIndex & 系统代码Mcurrec=allt(str(recn() & 获取当前所在记录号this.setall(dynamicbackcolor,IIF(RECNO()=&Mcurrec.,RGB(255,0,0),RGB(255,255,255) & 设置背景色,满足条件为红色,不满足为白色this.setall(dynamicforecolor,IIF(RECNO()=&Mcurrec.,RGB(255,255,0),RGB(0,0,0),column) & 设置前景色,满足条件为黄色,不满足为黑色this.refresh & 这个刷新必须要,不然不满足条件的记录所显示的高亮显示就不会退去2、设置多种颜色(无规律性)主要是针对一个表GRID里,当记录很多时,而且某些记录具有特定的属性时,我们需要设置颜色来区分这些数据,如下代码可以在刷新或初始化表单时,设置其属性。thisform.Grid1.SetAll(DynamicBackColor,IIF(type=1,iif(type=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),其他颜色)3、设置多种颜色(有规律性)这种就比较简单了,一般是在看较多记录时,多了让人眼花缭乱,所以每隔一行设置颜色,就是thisform.Grid1.SetAll(DynamicBackColor, IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) , RGB(0,255,0), Column)-如何在GRID的单元格中显示列表框第一步:在属性对话框中选择到GRID1某列下的TEXT1控件。第二步:用鼠标激活表单,注意点击标题栏即可。第三步:按DEL键,即删除了某个TEXT1控件,此时GRID1的某COLUMN下为空,其他的为TEXT1控件。第四步:从表单工具栏上选择一个COMBO,将鼠标移到GRID1上,鼠标成+字型,放在刚才删除TEXT1的位置上,按下鼠标左键,即可!第五步:可以到属性对话框中对此COMBO1进行属性设置! -如何在GRID里控制回车事件在VFP里,GRID的默认控件都是TEXTBOX,形成了一个表格,但是在这个二维表里进行操作时,每次按回车都是往后一个单元格跳转,当到最后一列时,则继续跳到第一列,进而循环,使操作很不方便,特别是一些要按照DOS的操作习惯的,希望回车时,可以往下移动单元格,或在最后一列回车时回到第一列等操作。下面说明如何在GRID里的一个列里按回车使记录连续往下跳转(或可以执行其他的操作),当跳转到最后一行时执行另一个操作。、对GRID所在的表单新增属性:cur_recn 记录当前记录号cur_recc 记录最大记录号2、在表单初始化,或给GRID以数据源时,就先计算出该表的最大的记录数,如下:thisform.cur_recc=recc()为了一次得到当前GRID里的表的记录总数3、在GRID的AfterRowColChange事件里写:thisform.cur_recn=recn()为了得到当前的GRID里的表的记录号4、在GRID里的某列的TEXT1的KEYPRESS事件里:if nKeyCode = 13&当按键为回车时if thisform.cur_recn=thisform.cur_recc*-当当前记录大于等于最大记录时,即记录已到最后一个时mand1.setfocus*-使表单上的一个命令按纽聚焦,也即可以跳出该GRID,*-而正常的操作很难从GRID里跳出,在这里就可以使在记录到最后时焦点跳出来else thisform.cur_recn=recn()& 当记录还没到尾时,则nodefault & 不做任何响应keyboard dnarrow & 模拟键盘下箭头,使记录指针下移一个endifendif-添加复选框控件: 如果新控件是一个复选框,应将复选框的 Caption 属性设置为“ ”,并将列的 Sparse 属性设置为“假”(.F.)。 提示: 如果想让复选框在表格列中居中,可先创建一个容器类,将复选框添加到容器类中,并调整复选框在容器类中的位置。然后将容器类添加到表格列中,并将复选框的 ControlSource 属性设置为需要的字段。- 若要通过代码将控件添加到表格列l 请在表格的 Init 事件中,使用 AddObject 方法程序将控件添加到表格列,然后设置列的 CurrentControl 属性。例如,Init 事件包含了如下代码,向列中添加两个控件,并将其中一个设置为当前控件:THIS.grcColumn1.AddObject(spnQuantity, SPINNER)THIS.grcColumn1.AddObject(cboQuantity, COMBOBOX)THIS.grcColumn1.CurrentControl = spnQuantityl 下面的代码确保控件是可见的,并且显示在表格中的每一行。THIS.grcColumn1.spnQuantity.Visible = .T.THIS.grcColumn1.Sparse = .F.在本例中,Column1 有三个可能的当前控件值:l spnQuantityl cboQuantityl Te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公室油条课件
- 2026年院感暴发演练脚本
- 2026年夏秋疾病知识模拟试题(含答案)
- 2026年世界环境日知识竞赛题库(试题含答案)
- 2026年监理工程师案例题记忆卷
- 2026年船员考试卷新版解析
- 2025年注册安全工程师考试建筑施工(初级)安全生产实务试卷及答案
- 2025年学校食堂食品安全知识培训3篇
- 用人单位职业卫生管理实务
- 2026年容器安全开源项目盘点
- GB/T 34630.1-2026搅拌摩擦焊铝及铝合金第1部分:术语及定义
- 2026及未来5年中国电力线载波抄表数据监测研究报告
- 《半导体制备装置用超高纯净不锈钢管》
- 2026语文新教材 第19课 航天员写给孩子的信 教学课件
- 深基坑安全管理培训课件
- T∕CPCPA 0017-2026 托育机构婴幼儿回应性照护服务规范
- 上海市上海中学2025-2026学年高一上学期期中考试语文试卷(含答案)
- 警营文化建设投标方案
- 重庆市2025年高考真题化学试卷(含答案)
- 少儿脊柱健康课件
- JG/T 182-2008住宅轻钢装配式构件
评论
0/150
提交评论