VFP GRID 技巧 2007-03-18 21:46 Spinner 在 GRID 中的运用 利用 Spinner 控件可以很好的来进行数据的输入控制, 尤其我们利用 GRID 控件来输入数据时, 因为 GRID 不能很好的进行控制,所以很多时侯需要自己对她做些"修改",那么将 Spinner 控件放入 GRID 时,就会 遇到一个不能很好的进行跳行问题,除了用鼠标以外,很难找到方法使光标下移一行,因此本文在此做 个介绍,以回车来使光标自动下移表格行。将一个 Spinner 控件放入 GRID 的 TEXT 控件位置,默认会以 Spinner 控件作优先控件。 在该控件的 KeyPress 事件中,写如下代码: If nKeyCode = 13 NoDefault Sele "GRID 所绑定的数据源名称" Skip If eof() ThisForm.cmd1.Setfocus EndIf EndIf 这样的话,当光标在 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,形成了一个表格,但是在这个二维表