jQuery MiniUI

标题: datagrid根据某一单元格的值,修改其他单元格的值,必须点击 [打印本页]

作者: 弥蒙时光    时间: 2017-5-18 10:35:15     标题: datagrid根据某一单元格的值,修改其他单元格的值,必须点击

新添加的单元格,根据其中的某一单元格的值,控制另一个单元格的可用和赋值,可用不可用可以立即生效,赋值只能点击生效。
  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的方法没能找到对应的单元格,请问版主怎么解决呢。

作者: felt    时间: 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;
    }
})
作者: 弥蒙时光    时间: 2017-5-18 11:03:27

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

哦,改变其他单元格的值也是可以的吗。
作者: 弥蒙时光    时间: 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的值为空和不可用
作者: felt    时间: 2017-5-18 12:29:01

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

http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
参考这个联动编辑的示例
作者: 弥蒙时光    时间: 2017-5-18 12:49:03

felt 发表于 2017-5-18 12:29
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
参考这个联动编辑的示例

太感谢了。问题解决了。




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