标题:grid的中敲回车键后,出现的下一列的值与上列重复
只看楼主
dong1728
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-7
 问题点数:0 回复次数:6 
grid的中敲回车键后,出现的下一列的值与上列重复

我在表单中加入了一个grid控件,在beforerowchange中加入如下代码

SELECT jiemu
GO top
DO WHILE .not. EOF()
IF ALLTRIM(thisform.grid1.column1.text1.Value)=ALLTRIM(jiemu.节目编号)
thisform.grid1.column2.text1.Value=jiemu.节目名称
thisform.grid1.column4.text1.Value=jiemu.载体
thisform.grid1.column5.text1.Value=jiemu.零售价
EXIT
ENDIF
skip
ENDDO

thisform.grid1.column7.text1.Value=ROUND(thisform.grid1.column5.text1.Value*thisform.grid1.column6.text1.Value,2)
thisform.grid1.column8.text1.Value=ROUND(thisform.grid1.column3.text1.Value*thisform.grid1.column5.text1.Value,2)
thisform.grid1.column9.text1.Value=ROUND(thisform.grid1.column3.text1.Value*thisform.grid1.column7.text1.Value,2)
ENDIF
With ThisForm.ActiveControl
IF nColIndex>=9 &&判断当前焦点是否在Grid控件的最后一个字段上
KeyBoard "{DnArrow}" Plain &&是则下移一行
endif
ENDWITH

可是在敲回车键后,下一列中第7,8,9列的值默认为上一列的值,不知道为什么,哪位高手指点一下,

多谢!!!

搜索更多相关主题的帖子: grid 回车键 thisform jiemu 上列 
2006-06-07 17:25
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:0 
thisform.grid1.column7.text1.Value=ROUND(thisform.grid1.column5.text1.Value*thisform.grid1.column6.text1.Value,2)
thisform.grid1.column8.text1.Value=ROUND(thisform.grid1.column3.text1.Value*thisform.grid1.column5.text1.Value,2)
thisform.grid1.column9.text1.Value=ROUND(thisform.grid1.column3.text1.Value*thisform.grid1.column7.text1.Value,2)
将此计算引用的控件值改为实际绑定的字段变量.试一试.

认真看书学习,弄通Fox主义。
2006-06-07 19:28
dong1728
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-7
得分:0 

还是一样

2006-06-07 19:39
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:0 
DO WHILE .not. EOF()
IF ALLTRIM(thisform.grid1.column1.text1.Value)=ALLTRIM(jiemu.节目编号)
thisform.grid1.column2.text1.Value=jiemu.节目名称
thisform.grid1.column4.text1.Value=jiemu.载体
thisform.grid1.column5.text1.Value=jiemu.零售价
EXIT
ENDIF
skip
ENDDO
以上是什么意思?
grid控件与数据表绑定后,记录各行与grid各行自动显示。


认真看书学习,弄通Fox主义。
2006-06-07 20:05
dong1728
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-6-7
得分:0 

上面还有三句

IF nColIndex=1
SELECT jiemu
GO top

grid所连接的表是jiemutemp,它是个空表,那几句的意思是如果在第一列中所输入的(节目单号)在jiemu表中能找到的话,第2列(节目名称),第三列(套数)能自动显示出来

2006-06-07 20:25
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:0 
我按你的方法,建一表和表单,运行后,并没有出现你的现象.
最后一列,回车后,下移一行,结果正确.没有出现两行数据一样的情况.


认真看书学习,弄通Fox主义。
2006-06-08 09:14
blueblood
Rank: 2
等 级:新手上路
威 望:4
帖 子:135
专家分:0
注 册:2006-4-2
得分:0 
楼主,试试执行一下:set carry off
2006-06-08 19:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-70432-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018027 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved