




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
针对VisualFoxpro表单设计中Grid表的着色设置【摘 要】:本文论述在Visual Foxpro表单设置中,根据不同字的字段、记录中字段的属性值、选中的记录以及在多记录显示中,对Grid表中的记录着色,以区分不同的选择或记录的具体方法及应用场合。【关键词】:VisualFoxpro Grid 着色设置在利用VisualFoxpro开发各种管理系统中,为了在表单中显示多条记录,常用方法在表单中添加Grid表(以下称“表格”)控件。然而,当表格中的字段较多或显示的记录较多时,如果表格的中文字的颜色又都一样,未免让人看了眼花缭乱,容易造成这样或那样的操作错误。如果能根据表格中的不同字段、不同记录、关键字段等赋予不同的着色方式以区分不同的字段或记录,减少不必要的操作失误,其效果就不言而喻了。笔者在系统开发的实践中,针对表格中记录的不同特性,探索出几种在表格中着色的具体方法及应用场合,现阐述如下。1、对表格的不同列(字段)设置不同的着色方式如果需浏览的表格存在较多列,为了区分不同列或某些重要列,以方便用户浏览记录、美化表格设置,我们可以对不同的列或重要列采用不同的着色。具体是在表单的适当位置(如笔者在表单的activate事件中)中添加如下代码:&设某一表格(grid1)在三列thisform.grid1.column1.backcolor=rgb(255,255,0)thisform.grid1.column1.forecolor=rgb(255,0,255)thisform.grid1.column3.backcolor=rgb(255,0,0)thisform.grid1.column3.forecolor=rgb(255,255,255)以上代码的含义是设置表的第一列的背景色和前景色(文字的颜色)为黄色和紫色;第三列的背景色和前景色(文字的颜色)为红色和白色。2、对表格中选定的单元格进行着色如果表格中存在的记录很多或是有较多的列,为了便于浏览某一选定的单元格数据,可以对表格中选定的单元格进行着色。具体是在表单的适当位置(如笔者在表单的activate事件中)中添加如下代码:thisform.grid1.column2.text1.selectedbackcolor=Rgb(255,0,0)thisform.grid1.column2.text1.selectedforecolor=Rgb(255,255,0)以上代码的含义是设置当表格的第二列的某一单元格被选中时,将选中单元格的背景色和前景色(文字的颜色)分别设为红色和黄色。同理也可设置其它列单元格被选中时的着色方式。3、对表格中选中记录的着色如果某一表格的记录较多,如果需在表格中选中某一条记录,并对该记录进行处理(如要从表格中删除某条记录,或修改某一字段值)。这时为了能明确区分选中的记录与未选中的记录,这时可以通过设置,使选中的记录高亮显示,以区别其它记录,方便用户区分。具体做法是在表格的AfterRowColChange事件中添加如下代码:dqjl=allt(str(recno() this.setall(dynamicbackcolor,IIF(recno()=&dqjl,RGB(255,255,0),RGB(255,255,255) this.setall(dynamicforecolor,IIF(recno()=&dqjl,RGB(255,0,255),RGB(0,0,0) this.refresh 上述代码的具体含义是:第一句:通过Recno()函数获最表格中的被选中记录的记录号(即当前记录),然后将其转为字符存于变量DQJL中。第二句:通过表格的SETALL方法设置表格中选中记录的背景色(即表格的dynamicbackcolor属性)。这里通过IIF()函数来进行设置,即如果记录号等当前记录,将其背景色设为黄色,否则设为白色。第三句:通过表格的SETALL方法设置表格中选中记录的前景色(即表格的dynamicforecolor属性)。也是通过IIF()函数来进行设置,即如果记录号等当前记录,将其前景色设为紫色,否则设为黑色。 注意代码中最后一句刷新表格命令是不可缺少的,不然当从一条记录移到别一条记录时,前一条着色的记录就不会还原成原来的颜色。4、对表格进行隔行着色在浏览表格时,如果记录很多,很容易让人感到眼花缭乱,这时可以对表格进行隔行着色显示,以方便用户对记录的浏览。具体是在表单的适当位置(如笔者在表单的activate事件中)中添加如下代码:thisform.Grid1.SetAll(DynamicBackColor, IIF(MOD(RECNO( ), 2)=0,; RGB(255,255,0) , RGB(255,255,255) ) this.setall(dynamicforecolor,IIF(MOD(RECNO( ), 2)=0,RGB(255,0,255),;RGB(0,0,0)以上代码的具体含义是:第一句:通过表格的SETALL方法设置表格的背景色,将记录号为偶数的设为黄色,奇数设为白色。第一句:通过表格的SETALL方法设置表格的前景色,将记录号为偶数的设为紫色,奇数设为黑色。其中:MOD(RECNO() ,2)为取模函数,即将表格中记录的记录号与2相除取余数,从而判断该记录为奇数还是偶数。这样在记录的浏览时对于大批的浏览记录,就能使表格的奇数行和偶数行显示出不同的颜色,使浏览者能轻松地浏览记录,同时也添加了表格的美观度。这种设置方法的缺点是要求在表格显示的记录,其在数据表中的记录号最好是连续的记录,因为它是根据记录号奇偶来设置颜色的。所以当连续的多条记录如果其在数据表中的记录号均为奇数或是偶数时,其显示的颜色也就一样了,从而体现不出其效果来。5、根据记录的某一字段值对记录进行动态着色在实际应用中,根据表格中记录的某一字段或多个字段的属性值进行记录着色,其意义重大。例如:当我们在表单中浏览学生考试成绩表时,如果对表格中存在不及格记录以高亮的形式显示或根据不及格门数的情况对其进行不同着色,就能给人以一目了然之感,其效果自然是不言而喻。下面说明这类表格的设置方法。假设有一个Grade.dbf表(学生成绩表),其字段主要有:姓名,语文,数学,英语,政治,化学,体育,不及格门数。现在根据不及格门数情况来对记录进行着色。为此可在表单的相关事件(如笔者在表单的activate事件中)中添加如下代码:thisform.Grid1.SetAll(DynamicBackColor,IIF(不及格门数=1,;iif(不及格门数=2,iif(不及格门数=3,iif(不及格门数=4,rgb(0,0,255),;rgb(255,0,0),rgb(255,255,0),rgb(0,255,255),rgb(55,255,255)以上代码的含义是,设置记录的背景色,将4门以上不及格的记录着为蓝色,3门不及格的记录着为红色,2门不及格的记录着为黄色,1门不及格的记录着为紫色,其它记录着为白色。这里是根据这个”不及格门数”字段的值,显示不同着色方式。我们可以将上面代码中的IIF条件语句写成通式即:iif(条件表达式1,iif(条件表达式2,iif(条件表达式3,.iif(条件表达式n,颜色n,.),颜色3,颜色2),颜色1),其他颜色)根据这个通式就可以方便地为需要对表格中的特征记录进行动态着色的方法。以上对表格的各种着色方式是笔者长期从事数据库管理系统开发中不断探索出的一些经验和具体方法。当然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八月份普法宣传活动方案
- 公交五一志愿活动方案
- 公交冬运活动方案
- 绳操比赛150字12篇
- 公众号活动策划方案
- 公会信用卡活动方案
- 公会系列活动方案
- 公共调查活动方案
- 商业保密协议及保密条款内容
- 公司app可以做哪些活动方案
- 三年级上册数学教案-第七单元 《分数的初步认识》 |苏教版
- 2023年高考英语试卷(新课标Ⅰ卷)含答案解析
- 《酒店营销推广方案》课件
- 慢性便秘肠道微生态临床应用中国专家共识2024版解读
- 《航空材料无损检测》课件-航空金属材料-钛及钛合金
- 危险化学品安全管理领导小组及工作职责
- 跟着音乐游中国(广州大学)知到智慧树章节答案
- 高中美术高中美术鉴赏《抒情与写意-文人画》课件
- 缺血性肠病病例
- 新苏教版小学科学四年级下册期末试卷及答案
- 2024年大学毛概期末全真模拟试卷及答案(共六套)
评论
0/150
提交评论