欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

巧用VFP的Grid表格控件

时间:2011-04-23  作者:秩名

论文导读:很多VFP初学者采取使用BROWSE命令或在文件夹下双击数据表文件的方法对数据表进行浏览、查询和修改数据,但BROWSE命令操作界面呆板、不能脱离VFP的主窗口执行、容易出错(比如操作时不小心按了空格键,光标所在处的内容就被空格代替了)。设置表格的数据源类型recordsourcetype属性为1(别名),数据源recordsource属性为xsb,列数columncount属性为xsb表的字段数16,删除标记deletemark属性为.f.(不显示删除标记),只读属性readonly为.t.(不允许用户在表格中修改数据),并将列标题用汉字描述(即表1中备注内容),如column1.header1.caption值为“报到情况”等。
关键词:VFP,Grid控件,属性,设置技巧
 

很多VFP初学者采取使用BROWSE命令或在文件夹下双击数据表文件的方法对数据表进行浏览、查询和修改数据,但BROWSE命令操作界面呆板、不能脱离VFP的主窗口执行、容易出错(比如操作时不小心按了空格键,光标所在处的内容就被空格代替了)。Grid表格控件是VFP表单的常用控件之一,能够进行再次编程,不仅操作界面美观,而且方便灵活、效率高。本文以新生报到管理为例,介绍几则Grid表格控件使用技巧。

设有学生表(xsb.dbf),表结构如表1所示,建立表单文件,主要包括以下控件:1个表格控件(Grid1)、1个文本框、3个命令按钮(查询、报到、退出)等。发表论文

1.设置表格基本属性

设置表格的数据源类型recordsourcetype属性为1(别名),数据源recordsource属性为xsb,列数columncount属性为xsb表的字段数16,删除标记deletemark属性为.f.(不显示删除标记),只读属性readonly为.t.(不允许用户在表格中修改数据),并将列标题用汉字描述(即表1中备注内容),如column1.header1.caption值为“报到情况”等。

2.设置表格显示颜色

为表格的行、列等内容设置不同颜色,清晰、直观,减少了操作失误。

2.1设置表格列显示颜色

为了区分不同列或重要列,方便用户查看数据,可以对不同列设置不同颜色以示区分。例如,对表格(grid1)的第1列、第6列进行不同颜色区分,可在表格的初始化事件(init)中设置如下代码:

thisform.grid1.column1.backcolor=rgb(128,128,128)

thisform.grid1.column1.forecolor=rgb(255,255,255)

thisform.grid1.column6.backcolor=rgb(255,0,0)

thisform.grid1.column6.forecolor=rgb(255,255,255)

2.2设置表格行显示颜色

根据记录的奇偶性,设置记录隔行显示颜色,在表单的初始化事件(init)事件中设置如下代码:

thisform.grid1.setall('DynamicBackColor','iif(mod(recn(),2)=0,rgb(255,255,0),rgb(255,255,255))')

thisform.grid1.setall('DynamicForeColor','iif(mod(recn(),2)=0,rgb(255,0,0),rgb(0,0,0))')

2.3设置选定记录颜色

对表格中选定数据设置不同背景颜色和前景颜色,以区分选中的记录和非选中记录。在表格的afterrowcolchange事件中设置如下代码:

a1=allt(str(recn()))

this.setall('DynamicBackColor','iif(recn()=&a1,rgb(255,255,0),rgb(255,255,255))')

this.setall('DynamicForeColor','iif(recn()=&a1,rgb(255,0,0),rgb(0,0,0))')

thisform.refresh

3.改变表格显示顺序

由于已经向xsb.dbf设置索引,故分别在表格控件相应的列标题中添加单击(click)代码,代码内容为改变xsb的索引文件,可以实现按指定标题排序。以表格的考生号列为例,其列表题单击事件(click)代码如下:

set orde to ksh

thisform.refresh

4.拆分显示表格

有时为了固定显示表格中的一列或多列,可以拆分显示表格,表格的partition属性能实现这一功能。发表论文。当partition的值为0时,即表格不拆分,当partition大于0或指定具体值(如partition=150)时,表格拆分为左右两个面板,左面板宽度为设定值。发表论文。

5、用程序代码改变表的数据

本例采用用程序代码来实现登记学生报到情况和报到时间两项数据(即报到命令按钮的单击事件)。报到命令按钮单击事件(click)代码如下:

if bdqk='已报到'

=messagebox('此生已登记报到!',48,'警告')

else

if messagebox('考生号:'+ksh+' 姓名:'+xm+' 性别:'+xbdm+chr(13)+chr(13);

+'省市:'+ss+' 毕业学校:'+zxmc+' 录取专业:'+lqzymc+chr(13)+chr(13);

+'是否登记此生报到?',36,'询问')=6

repl bdqk with '已报到',bdsj with datetime()

endi

endi

thisform.grid1.setfocus

thisform.refresh

以上程序在VFP6.0中运行通过。


参考文献
[1] Microsoft Corporation 著,希望图书创作室译.Microsoft Visual FoxPro6.0 中文版语言参考手册,1999
[2] 史济民,汤观全,Visual Foxpro及其应用系统开发,清华大学出版社,2000
[3] 周帮建,Visual FoxPro 6.0高级编程,清华大学出版社,1999
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:嵌入式系统开发平台化浅析
下一篇论文:人脸识别技术的研究与应用
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文