转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 常用软件 >> 正文
VFP中使用Grid控件设计通用录入界面         

VFP中使用Grid控件设计通用录入界面

作者:闵涛 文章来源:闵涛的学习笔记 点击数:739 更新时间:2009/4/24 21:44:51
    Grid是VFP功能强大的表格(或者说网格)控件,它提供了比Browse窗口强大得多的控制方式。Grid是包含列对象的容器对象,而列对象包含了列标题对象及列控件对象,均有各自相应的属性集,因此我们可以完全控制表格中的任何一个元素,设计出通用的报表录入界面。下面我们就详细讨论如何使用Grid控件设计通用录入界面,并解决几个设计过程中经常碰到的问题。

  一、基本原理思路

  设计灵活性、通用性较强的录入界面较为合适的方法是:采用数据表(DBF文件)控制Grid控件的行列显示信息、显示方式。因此,我们将Grid控件的数据源RecordSource设为数据表(DBF文件),其数据格式、显示方式及行列提示信息则分别由数据表RowMsg.DBF(控制表格的行即记录方面信息)、ColMsg.DBF(数据格式并控制Grid控件的列方面信息)进行控制。另外,一般来说指定Grid控件第一列显示行提示信息,若有多个提示信息字段,可连接处理为一列。

  二、前期准备工作

  1.创建表RowMsg.DBF,该表有2个字段,用于显示Grid控件行信息:

Create Table RowMsg(Code C(5),Name C(33))

  2. 创建表ColMsg.DBF,该表有6个字段,用于控制、显示表格各列信息:

Create Table ColMsg(Code C(5),Name C(20),NeedIn L(1),Field_Name C(10),Field_Type C(1),Field_Len N(3),Field_Dec N(3))

  3.创建表单In_Grid,将其属性Name改为“FrmGrid”, Caption改为“数据录入/修改窗口”;在表单上放置Grid控件,将其属性Name改为“GridDat”;在表单上放置Command控件,将其属性Name改为“CmdExit”, Caption改为“关闭退出”。

  三、初步设计工作

  1.先在表单的Init事件中写入如下代码:

Set Talk Off

Set Safe Off

CLOSE ALL



With ThisForm

.AutoCenter=.T. &&表单自动居中

.ControlBox=.F. &&去除表单的控制框

.Width=_Screen.Width &&表单宽度同屏幕

EndWith



**/由ColMsg.DBF生成输入数据表Dat.DBF **/

Sele 0

Use ColMsg

Copy To TmpStru Field Field_Name,Field_Type,Field_Len,Field_Dec

Copy To TmpColMsg For NeedIn



Create Dat From TmpStru &&生成Dat.DBF

Eras TmpStru.DBF



Sele 0

Use TmpColMsg Alias ColMsg

Sele 0

Use RowMsg

Index On AllTrim(Code) To TmpRowMsg

Scan

Insert Into Dat(Code) Values (RowMsg.Code) &&由RowMsg.DBF生成Dat.DBF的所有记录

EndScan



Sele Dat

Go Top

Set Rela To AllTrim(Code) Into RowMsg



With ThisForm.GridDat

.FontName="宋体"

.FontSize=10

.DeleteMark=.F. &&去除Grid的删除标记列,以美化界面

.RecordMark=.F. &&去除Grid的记录选择标记列,以美化界面

.ScrollBars=0 &&去除Grid的水平及垂直滚动条,以美化界面

.AllowHeaderSizing=.F.&&设定Grid的标题栏的高度不可改变

.AllowRowSizing=.F. &&设定Grid的各行高度不可改变

.ColumnCount=Recc("ColMsg")+1

.RecordSourceType=2

.RecordSource="Dat"

**/下面指定表格第一列显示行提示信息,并设置该列有关属性。/**

.Column1.ControlSource="Code+RowMsg.Name" &&将2个提示信息字段连接处理为一列

.Column1.Enabled=.F. &&该列不能编辑,焦点也不能移入

.Column1.Width=300

.Column1.BackColor=RGB(192,192,192)

.Column1.Header1.Caption="指标代码及名称"



**/下面指定表格其他列及其标题,并设置有关属性。/**

Sele ColMsg

Scan

lcCol=AllTrim(Str(Recn()+1,5))

With .Column&lcCol.

.ControlSource="Dat."+Alltrim(Field_Name)

.Header1.Caption=AllTrim(Name)

.Width=90

EndWith

EndScan



**/下面设置表格宽度,并使其水平居中。/**

lnGridLen=.Column1.Width+Recc("ColMsg")*.Column2.Width+10

.Width=IIF(m.lnGridLen>ThisForm.Width*0.95,ThisForm.Width*0.95,m.lnGridLen)

.Left=(ThisForm.Width - .Width)/2

ThisForm.CmdExit.Left= (ThisForm.Width - ThisForm.CmdExit.Width)/2 &&使命令按钮水平居中

EndWith

  2.在命令按钮CmdExit的Click事件中写入代码:ThisForm.Release

  至此, 该表单已可顺利运行。

157


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台