下面我们就详细讨论如何使用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"
【VFP中使用Grid控件设计通用录入界面】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
Vb中控件的自动排列03-23
中国大地保险公司实习报告03-23
广西壮族自治区财政厅会计继续教育报名登录入口:https://czt.gxzf.gov.cn/kjgl/03-23
07年4月北师大“中国古代文学史(一)”串讲(5)03-23
2023年广东梅州中考成绩查询时间及查分入口[7月7日起]03-23
2024年江苏中级导游等级考试准考证打印时间及入口(11月18日9:00起)03-23
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告03-23
