我在表单中加入了一个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列的值默认为上一列的值,不知道为什么,哪位高手指点一下,
多谢!!!