jQuery MiniUI

 找回密码
 立即注册
查看: 5555|回复: 5
打印 上一主题 下一主题

datagrid根据某一单元格的值,修改其他单元格的值,必须点击 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-5-18 10:35:15 |只看该作者 |倒序浏览
新添加的单元格,根据其中的某一单元格的值,控制另一个单元格的可用和赋值,可用不可用可以立即生效,赋值只能点击生效。
  1.                    <div field="node_uuid"  displayField="flow_node_name"  allowSort="false"  
  2.                                                                                     align="center" headerAlign="center">流程节点
  3.                                                                         <input property="editor" class="mini-combobox" style="width:35%;" name="node_uuid"
  4.                                                                                                  id="node_uuid" valueField="node_uuid" textField="flow_node_name"/>           
  5.                                                                     </div>
复制代码
  1.         function cellbeginedit(e) {
  2.             if (e.field == 'node_uuid') {
  3.                 var editor = e.editor;
  4.                 editor.setUrl("?m=flw&c=Flw_Dflow&a=getSelectNode&nodeNo="+flowTree_uuid);
  5.             }
  6.             var record = e.record;       
  7.                 var rows=grid3.getData();  //获取当页所有行
  8.             var record = e.record, field = e.field;
  9.             if (field == "node_uuid" && record.but_type != "3" ) {
  10.                      /* editor.setText(""); */
  11.                       grid3.updateRow(record,{node_uuid:""});
  12.                      grid3.updateRow(record,{flow_node_name:""});
  13.                 e.cancel = true;    //如果不是跳转类型,不允许编辑跳转的节点
  14.             }
  15.         }
复制代码
  1.         function addRow() {         
  2.             var newRow = { name: "New Row",but_type:"",uuid_node:"",but_title:"",flow_node_name:"" };
  3.             grid3.addRow(newRow);
  4.             grid3.beginEditCell();
  5.         }
复制代码
现在看来应该是updateRow的方法没能找到对应的单元格,请问版主怎么解决呢。

Rank: 8Rank: 8

沙发
发表于 2017-5-18 10:47:10 |只看该作者
可控编辑是应该在oncellbeginedit事件里处理
grid.on("cellbeginedit",function(e){
    if (e.field == "node_uuid" &&e.record.but_type != "3" ) {
            e.cancel=true;
    }
})

Rank: 2

板凳
发表于 2017-5-18 11:03:27 |只看该作者
felt 发表于 2017-5-18 10:47
可控编辑是应该在oncellbeginedit事件里处理
grid.on("cellbeginedit",function(e){
    if (e.field == "n ...

哦,改变其他单元格的值也是可以的吗。

Rank: 2

地板
发表于 2017-5-18 11:20:49 |只看该作者
felt 发表于 2017-5-18 10:47
可控编辑是应该在oncellbeginedit事件里处理
grid.on("cellbeginedit",function(e){
    if (e.field == "n ...
  1.                                                                     <div field="but_type"  type="comboboxcolumn" autoShowPopup="true" name="type" allowSort="false"  vtype="required"  
  2.                                                                             align="center" headerAlign="center">按钮类型
  3.                                                                         <input property="editor" onvaluechanged="onButTypeChanged" id="but_type" class="mini-combobox" style="width:27%;" data="but_typeGenders" />              
  4.                                                                     </div>
复制代码
还是需要点击对应单元格才能置为空值,但是如果我在控制单元格加上onvaluechanged事件,却不能立即获取到row的对应列的对应值,从而不能判断。
版主有什么解决办法么。
根据一个mini-combobox,控制另一个mini-combobox的值为空和不可用

Rank: 8Rank: 8

5#
发表于 2017-5-18 12:29:01 |只看该作者
弥蒙时光 发表于 2017-5-18 11:20
还是需要点击对应单元格才能置为空值,但是如果我在控制单元格加上onvaluechanged事件,却不能立即获取到 ...

http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
参考这个联动编辑的示例

Rank: 2

6#
发表于 2017-5-18 12:49:03 |只看该作者
felt 发表于 2017-5-18 12:29
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
参考这个联动编辑的示例

太感谢了。问题解决了。

Archiver|普加软件

GMT+8, 2025-5-12 19:58 , Processed in 1.018180 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部