当前位置: 代码迷 >> VFP >> 怎样才能统制GRID中某些单元格能被修改
  详细解决方案

怎样才能统制GRID中某些单元格能被修改

热度:9992   发布时间:2013-02-26 00:00:00.0
怎样才能控制GRID中某些单元格能被修改?
***不能上传图片......

一个GRID数据源是一张表,现在想实现的是,GRID中某列的TEXT的值能否修改,是由另外某列的值来决定.
该怎样实现?

------解决方案--------------------------------------------------------
建议在 Grid 之外,用文本框(如 Text100)限制,在 Grid 的 AfterRowColChange 事件根据条件对 Text100 的 Enabled 操作。

------解决方案--------------------------------------------------------
*如何控制Grid只能移动列,不能移动行。
*------------------------------------
VFP7.0以上:

1、设一个全局变量,初始值为.T.
Public glRowMove
glRowMove=.T.

2、在 Grid 的 BeforeRowColChange 事件:
Lparameters nColIndex &&系统代码
If (This.RowColChange=1 Or This.RowColChange=3) And glRowMove=.F.
Nodefault
Endif

3、不允许行移动:
glRowMove=.F.

允许行移动:
glRowMove=.T.

****************************************

因为 VFP7.0 以下 Grid 没有 RowColChange 属性,所以只能用以下方法:
此种方法其实记录已经移到其他行了,后来又移回来了,所以会来回闪动。

1、表单的 Load 事件:
Public gnRecno
gnRecno=1

2、表单的Unload事件:
Release gnRecno

3、在 Grid 的 AfterRowColChange 事件:
Lparameters nColIndex &&系统代码
Go gnRecno &&动态改态变量gnRecno的值即可
  相关解决方案