起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7248|回复: 15

[结贴] grid怎么根据新增或者编辑控制某一行不可编辑呢?

[复制链接]
发表于 2017-8-23 16:07:33 | 显示全部楼层 |阅读模式
请问,grid怎么根据新增或者编辑控制某一行不可编辑呢?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-23 17:28:23 | 显示全部楼层
根据新增或者编辑控制某一行不可编辑什么意思?具体需求要做什么?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-24 09:01:18 | 显示全部楼层
jishuang 发表于 2017-8-23 17:28
根据新增或者编辑控制某一行不可编辑什么意思?具体需求要做什么?

如果是新增的一行,允许这行可以编辑,如果不是新增的就不允许编辑
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-24 10:11:57 | 显示全部楼层
自己定义一个函数,函数中获取行的状态getRowState (Row row),判断是否为new,如果是返回false,否则返回true,data的只读规则中调用这个函数
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-25 09:49:07 | 显示全部楼层
本帖最后由 忘了忘了 于 2017-8-25 10:03 编辑
jishuang 发表于 2017-8-24 10:11
自己定义一个函数,函数中获取行的状态getRowState (Row row),判断是否为new,如果是返回false,否则返回t ...

写在data的只读规则上会报错。初始化进入的时候是mainData是null,所以提示错误
Model.prototype.checkRow = function() {
  var mainData = this.comp("mainData");
  var state = mainData.getRowState(mainData.getCurrentRow());
  if (state == "new") {
   return false;
  } else {
   return true;
  }
}
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-25 11:31:17 | 显示全部楼层
$model.mainData?调用函数:false
规则中这样定义
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-25 11:47:10 | 显示全部楼层
本帖最后由 忘了忘了 于 2017-8-25 11:59 编辑
jishuang 发表于 2017-8-25 11:31
$model.mainData?调用函数:false
规则中这样定义

$model.mainData?$model.checkRow():false按照这种方式,一直都可以编辑,请问是什么原因
测试发现返回的有true呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-25 13:23:14 | 显示全部楼层
返回的true就是只读
判断的时候把当前计算行传过去,判断当前计算行的,不要直接用mainData.getCurrentRow()获取

http://docs.wex5.com/bex5-ui-question-list-10110/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-25 13:37:19 | 显示全部楼层
jishuang 发表于 2017-8-25 13:23
返回的true就是只读
判断的时候把当前计算行传过去,判断当前计算行的,不要直接用mainData.getCurrentRow( ...

测试之后发现放在单独的某一个字段上设置只读可以,设置数据源的就不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36178
发表于 2017-8-25 15:00:05 | 显示全部楼层
$model.mainData?$model.checkRow($data):false

js中从传的$data上的获取当前行以及状态
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-23 22:19 , Processed in 0.059303 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表