度量快速开发平台-专业、快速的软件定制快开平台

标题: 网格部件中,根据某一个列的条件设置整行是否可编辑的参考示例 [打印本页]

作者: 王爱东    时间: 2020-5-14 12:11
标题: 网格部件中,根据某一个列的条件设置整行是否可编辑的参考示例
  度量快速开发平台在网格部件构建中,有这样的需求,比如网格中根据条件“未审核”的数据,这一行都可以编辑调整,“已审核”的数据,这一行数据都不能修改。这种需求在日常构建中也是很多的。大家知道度量快速开发平台中有两个熟悉的方法来控制网格部件的读写.
网格部件1.只读=True

网格部件1.只读=False



这个是整体控制网格部件是否可以写或者是只能读,需要放在网格部件1.RefreshData()之前才有效果。

网格部件1.SetFieldReadOnly("字段名称",True)
网格部件1.SetFieldReadOnly("字段名称",False)


这个是可以设定指定的字段是否可以写或者只能读,在网格部件刷新后也是有效果的。
如果我们直接设置 网格部件1.SetFieldReadOnly("字段名称",False) ,则该字段这列的所有行都可以编辑,那么设置根据某一条件,不同行才可以编辑,怎么办呢?
很简单,我们可以在网格的焦点单元格事件中来触发,设置那些条件下那些字段允许读写,这样就模拟出来根据某一条件不同行的读写控制。

示例:


'未审核行的数据才可以修改。
if 网格部件1.GetFocusedRowValue("ZIDUAN1")="未审核" then
  Call("可写")
else
  Call("只读")
end if


----------------------------------------------------------
只读:
网格部件1.SetFieldReadOnly("ZIDUAN1",True)
网格部件1.SetFieldReadOnly("ZIDUAN2",True)
网格部件1.SetFieldReadOnly("ZIDUAN3",True)

-------------------------------------------------------
读写:
网格部件1.SetFieldReadOnly("ZIDUAN1",False)
网格部件1.SetFieldReadOnly("ZIDUAN2",False)
网格部件1.SetFieldReadOnly("ZIDUAN3",False)



作者: 王爱东    时间: 2020-5-14 13:05
后续还可以研究更简单的方式来实现。
作者: 张兴康    时间: 2020-5-14 17:19
这个方法不错,赞一个
作者: 万望    时间: 2020-5-14 20:21
( ^_^ )不错嘛
作者: 王爱东    时间: 2020-5-15 15:39
一般的功能都好实现,有些功能需要换个思路来实现。
作者: 张军勇    时间: 2020-5-24 09:51
思路不错。




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2