老问题,GRID 空白!

yrt888 2009-08-12 04:14:27
有一个按钮的.CLICK 事件代码:(其实就是向表添加一条空记录)

thisform.Grid1.RecordSource =''
SELECT 1
USE
SELECT 4
USE I:\JINCEN
APPEND BLANK
thisform.Grid1.ColumnCount = 4
*thisform.Grid1.RecordMark= .F.
*thisform.Grid1.ScrollBars= 0
*thisform.Grid1.DeleteMark= .F.
*thisform.refresh
thisform.grid1.BackColor=RGB(217,158,0)
thisform.grid1.FOREColor=RGB(0,0,250)
thisform.grid1.RecordSourceType= 0
thisform.grid1.recordsource="i:\jincen"
thisform.grid1.Column1.ControlSource="进程"
thisform.grid1.Column2.ControlSource="信任"
thisform.grid1.Column3.ControlSource="路径"
thisform.grid1.Column4.ControlSource="基本"
thisform.grid1.Column1.Header1.Caption="进程"
thisform.grid1.Column2.Header1.Caption="信任"
thisform.grid1.Column3.Header1.Caption="路径"
thisform.grid1.Column4.Header1.Caption="基本"
thisform.grid1.Column1.Width=120
thisform.grid1.Column2.Width=30
thisform.grid1.Column3.Width=400
thisform.grid1.Column4.Width=30
THISFORM.Refresh
THISFORM.Grid1.Refresh

结果GRID 显示是空白,查了论坛帖子,还是没有解决,给位看看问题出在那里,谢谢!
...全文
122 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yrt888 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 dkfdtf 的回复:]
引用 8 楼 yrt888 的回复:
另外问一问,添加了空记录,发现表多出了不止一条空记录,而是好几条,另外GRID 显示是自动跑到最下面,估计是这个情况令表多出几个空记录,谢谢!这个问题后面可以用代码解决,不过看看能不能前面解决

1. 自动跑到最后是因为执行了 append blank,记录指针自然就指向了刚添加的新纪录
  可以在 append blank 后加一条 locate 将指针拉回到首记录
2. 多出几行的空格应该是你其他地方的代码造成的
  你可以注释掉 append blank 这句看看最后是否也有空记录

[/Quote]

明白了,是GRID 的属性没有设置好,谢谢!
都市夜猫 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yrt888 的回复:]
另外问一问,添加了空记录,发现表多出了不止一条空记录,而是好几条,另外GRID 显示是自动跑到最下面,估计是这个情况令表多出几个空记录,谢谢!这个问题后面可以用代码解决,不过看看能不能前面解决[/Quote]

1. 自动跑到最后是因为执行了 append blank,记录指针自然就指向了刚添加的新纪录
  可以在 append blank 后加一条 locate 将指针拉回到首记录
2. 多出几行的空格应该是你其他地方的代码造成的
  你可以注释掉 append blank 这句看看最后是否也有空记录
yrt888 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 apple_8180 的回复:]
引用 11 楼 yrt888 的回复:
问题是多加了几个空记录!


将Grid的AllowAddNew属性设为.F.
[/Quote]

明白了,谢谢!
十豆三 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yrt888 的回复:]
问题是多加了几个空记录!
[/Quote]

Grid AllowAddNew 属性设为 .F.
yrt888 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 apple_8180 的回复:]
改为如下试试:

*在 A表单 的表 Load 事件打开表
UseI:\JINCENIn0AliasMyJincenExclusive

*在 A表单 执行 Grid表单 代码
DoForm"Grid.SCX"
ReadEvents
SelectMyJincen
Pack

*Grid表单的 Init 事件代码:
Thisform.grid1.RecordSource="MyJincen"
Thisform.Grid1.ColumnCount=4
Thisform.grid1.BackColor=Rgb(217,158,0)
Thisform.grid1.ForeColor=Rgb(0,0,250)
Thisform.grid1.Column1.ControlSource="进程"
Thisform.grid1.Column2.ControlSource="信任"
Thisform.grid1.Column3.ControlSource="路径"
Thisform.grid1.Column4.ControlSource="基本"
Thisform.grid1.Column1.Header1.Caption="进程"
Thisform.grid1.Column2.Header1.Caption="信任"
Thisform.grid1.Column3.Header1.Caption="路径"
Thisform.grid1.Column4.Header1.Caption="基本"
Thisform.grid1.Column1.Width=120
Thisform.grid1.Column2.Width=30
Thisform.grid1.Column3.Width=400
Thisform.grid1.Column4.Width=30

*Grid表单的 一个按钮.CLICK 事件代码
SelectMyJincen
AppendBlank
Thisform.Grid1.Refresh
[/Quote]

同样成功,谢谢!问题是多加了几个空记录!
十豆三 2009-08-12
  • 打赏
  • 举报
回复
改为如下试试:

*在 A表单 的表 Load 事件打开表
Use I:\JINCEN In 0 Alias MyJincen Exclusive

*在 A表单 执行 Grid表单 代码
Do Form "Grid.SCX"
Read Events
Select MyJincen
Pack

*Grid表单的 Init 事件代码:
Thisform.grid1.RecordSource="MyJincen"
Thisform.Grid1.ColumnCount=4
Thisform.grid1.BackColor=Rgb(217,158,0)
Thisform.grid1.ForeColor=Rgb(0,0,250)
Thisform.grid1.Column1.ControlSource="进程"
Thisform.grid1.Column2.ControlSource="信任"
Thisform.grid1.Column3.ControlSource="路径"
Thisform.grid1.Column4.ControlSource="基本"
Thisform.grid1.Column1.Header1.Caption="进程"
Thisform.grid1.Column2.Header1.Caption="信任"
Thisform.grid1.Column3.Header1.Caption="路径"
Thisform.grid1.Column4.Header1.Caption="基本"
Thisform.grid1.Column1.Width=120
Thisform.grid1.Column2.Width=30
Thisform.grid1.Column3.Width=400
Thisform.grid1.Column4.Width=30

*Grid表单的 一个按钮.CLICK 事件代码
Select MyJincen
Append Blank
Thisform.Grid1.Refresh
yrt888 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 apple_8180 的回复:]
I:\JINCEN 与 I:JINCEN  是不同的表??
[/Quote]

是不同的,分别在两个盘,而且内容不尽相同!
yrt888 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dkfdtf 的回复:]
试试:

...
SELECT 4
USE I:\JINCEN alias jincen_1
...
thisform.grid1.RecordSourceType= 1
thisform.grid1.recordsource="jincen_1"

[/Quote]

成功了!

另外问一问,添加了空记录,发现表多出了不止一条空记录,而是好几条,另外GRID 显示是自动跑到最下面,估计是这个情况令表多出几个空记录,谢谢!这个问题后面可以用代码解决,不过看看能不能前面解决,谢谢!
十豆三 2009-08-12
  • 打赏
  • 举报
回复
I:\JINCEN 与 I:JINCEN 是不同的表??
都市夜猫 2009-08-12
  • 打赏
  • 举报
回复
试试:

...
SELECT 4
USE I:\JINCEN alias jincen_1
...
thisform.grid1.RecordSourceType= 1
thisform.grid1.recordsource="jincen_1"
yrt888 2009-08-12
  • 打赏
  • 举报
回复
i:\JINCEN 和 JINCEN 是两个不同的表,谢谢!
yrt888 2009-08-12
  • 打赏
  • 举报
回复
还是不行:更详细的代码:
A 表单中:

SELE 4
USE I:JINCEN

DO FORM GRID.SCX &&这个是GRID 表单
READ EVENTS
SELECT 4
USE I:\JINCEN
PACK


以下是GRID 表单的 一个按钮.CLICK 事件代码:

thisform.Grid1.RecordSource =''
SELECT 1
USE
SELECT 4
USE I:\JINCEN
APPEND BLANK
thisform.Grid1.ColumnCount = 4
*thisform.Grid1.RecordMark= .F.
*thisform.Grid1.ScrollBars= 0
*thisform.Grid1.DeleteMark= .F.
*thisform.refresh
thisform.grid1.BackColor=RGB(217,158,0)
thisform.grid1.FOREColor=RGB(0,0,250)
thisform.grid1.RecordSourceType= 0
thisform.grid1.recordsource="i:\jincen"
thisform.grid1.Column1.ControlSource="进程"
thisform.grid1.Column2.ControlSource="信任"
thisform.grid1.Column3.ControlSource="路径"
thisform.grid1.Column4.ControlSource="基本"
thisform.grid1.Column1.Header1.Caption="进程"
thisform.grid1.Column2.Header1.Caption="信任"
thisform.grid1.Column3.Header1.Caption="路径"
thisform.grid1.Column4.Header1.Caption="基本"
thisform.grid1.Column1.Width=120
thisform.grid1.Column2.Width=30
thisform.grid1.Column3.Width=400
thisform.grid1.Column4.Width=30
THISFORM.Refresh
THISFORM.Grid1.Refresh

目的就是向表添加一个空记录!然后在GRID显示,进行修改!谢谢!


十豆三 2009-08-12
  • 打赏
  • 举报
回复
如果 I:\JINCEN 之前已经打开,那你上面代码可以改为如下:

Thisform.Grid1.RecordSource=''
Select JINCEN
Append Blank
Thisform.Grid1.ColumnCount=4
*thisform.Grid1.RecordMark= .F.
*thisform.Grid1.ScrollBars= 0
*thisform.Grid1.DeleteMark= .F.
*thisform.refresh
Thisform.grid1.BackColor=Rgb(217,158,0)
Thisform.grid1.ForeColor=Rgb(0,0,250)
Thisform.grid1.RecordSourceType=0
Thisform.grid1.RecordSource="jincen"
Thisform.grid1.Column1.ControlSource="进程"
Thisform.grid1.Column2.ControlSource="信任"
Thisform.grid1.Column3.ControlSource="路径"
Thisform.grid1.Column4.ControlSource="基本"
Thisform.grid1.Column1.Header1.Caption="进程"
Thisform.grid1.Column2.Header1.Caption="信任"
Thisform.grid1.Column3.Header1.Caption="路径"
Thisform.grid1.Column4.Header1.Caption="基本"
Thisform.grid1.Column1.Width=120
Thisform.grid1.Column2.Width=30
Thisform.grid1.Column3.Width=400
Thisform.grid1.Column4.Width=30
Thisform.Refresh
Thisform.Grid1.Refresh
十豆三 2009-08-12
  • 打赏
  • 举报
回复
SELECT 1
USE
SELECT 4
USE I:\JINCEN

另外:
你的 1 工作区是什么表,为何要关闭?

你的 Grid 原来的数据源是不是 jincen ,如果是,是不是已经打开了,如果已经打开了,就不用再打开了。
十豆三 2009-08-12
  • 打赏
  • 举报
回复
Thisform.grid1.RecordSource="jincen"

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧