jQuery MiniUI

标题: grid的单元格编辑问题 [打印本页]

作者: 草草草    时间: 2013-12-17 17:09:38     标题: grid的单元格编辑问题

[attach]3449[/attach]
如图,默认两个单元格都是不可编辑的,
其中多选框算是从后台获取数据来展现在页面上的

现在就是想如果多选框展现出未选中,则后面的单元格依旧不可编辑
当多选框展现出选中,则后面单元格可以编辑

请问该怎么实现?

还包含不良内容了一次发帖失败。。
作者: lost    时间: 2013-12-17 17:15:24

http://www.miniui.com/demo/#src=datagrid/editable.html
参考这个示例demo
作者: 草草草    时间: 2013-12-18 08:58:45

lost 发表于 2013-12-17 17:15
http://www.miniui.com/demo/#src=datagrid/editable.html
参考这个示例demo

有点问题。。已存在行没问题。。。多选列不中的话备注无法编辑
[attach]3451[/attach]

但是新增行无效果
多选列不选中但是点击备注可以编辑。。
[attach]3452[/attach]
这里应该怎么做?

作者: factory    时间: 2013-12-18 09:25:59

草草草 发表于 2013-12-18 08:58
有点问题。。已存在行没问题。。。多选列不中的话备注无法编辑

监听oncellbeginedit
判断e.row.xxx 是否为你的选中的值,如果不是,就e.cancel=true
作者: 草草草    时间: 2013-12-18 10:52:31

factory 发表于 2013-12-18 09:25
监听oncellbeginedit
判断e.row.xxx 是否为你的选中的值,如果不是,就e.cancel=true

function OnCellBeginEdit(e){
        if(e.field=="married"){//婚否
          e.cancel=true;
        }
        if(e.record.married=="0"){
          if(e.field=="remarks"){
            e.cancel=true;
          }
        }
      }
具体应该怎么改呢?
首先确定多选框是不可修改的。
然后判定当多选框选中时,备注可修改
多选框未选中,备注不可修改。
作者: 草草草    时间: 2013-12-18 10:56:38

factory 发表于 2013-12-18 09:25
监听oncellbeginedit
判断e.row.xxx 是否为你的选中的值,如果不是,就e.cancel=true

而且用demo还发现一个问题
当新增行没数据时,即使多选框没选中备注也能修改
有数据时多选框没选中,备注不能修改[attach]3456[/attach]
像这样
[attach]3457[/attach]

作者: factory    时间: 2013-12-18 11:05:22

草草草 发表于 2013-12-18 10:56
而且用demo还发现一个问题
当新增行没数据时,即使多选框没选中备注也能修改
有数据时多选框没选中,备注 ...

你这样吧,光说也说不清

你用html页面写个表格,数据的话,写个几条静态的即可,然后把例子上传上来,我们给你看下
作者: 草草草    时间: 2013-12-18 11:39:50

factory 发表于 2013-12-18 11:05
你这样吧,光说也说不清

你用html页面写个表格,数据的话,写个几条静态的即可,然后把例子上传上来,我们给 ...

[attach]3460[/attach]
用的就是demo/datagrid/celledit.html

作者: felt    时间: 2013-12-18 13:05:14

本帖最后由 felt 于 2013-12-18 13:07 编辑

你新增的行,married字段是没有的,当然不能阻止
你增加的时候设置 newRow={name:"New Row",married:0}
或者判断的时候加个e.record.married==undefined





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2