jQuery MiniUI

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

请教行编辑模式下,列表里面combobox选择后替换其它列控件 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-7-6 08:52:27 |只看该作者 |倒序浏览
本帖最后由 whicss 于 2017-7-6 08:53 编辑
复制代码
请教斑竹,在动态添加行后,开启行编辑模式下,列表里面原有345列是三级联动,当第3列combobox选择特定条件后,需将第5列的combobox替换为mini-textbox(不论什么控件,对应数据库是同一个字段),我查看了例子,但那个是单元格编辑模式下,我该如何实现?
  1. <div class="mini-fit">
  2. <div id="crudGrid" class="mini-datagrid" style="height: 99.9%;" idField="id" multiSelect="true" showPager="false"
  3. url="${remotePath}/monopoly/supervision/index/indexParameter/query-parameter.json?q.indexId=${param.id}">
  4. <div property="columns">
  5. <div type="checkcolumn"></div>
  6. <div type="indexcolumn">序号</div>
  7. <div field="name">指标参数
  8. <input property="editor" class="mini-textbox"/>
  9. </div>
  10. <div type="comboboxcolumn" field="parameterType" width="100" headerAlign="center">参数类型
  11. <input property="editor" class="mini-combobox" style="width:150px;" onvaluechanged="OnCellBeginEdit"
  12. valueField="codeValue" textField="codeName"
  13. url="${remotePath}/masterdata/dict/find-type.json?typeCode=902"/>
  14. </div>
  15. <div displayField="rangeName" name="parameterRange" field="parameterRange" width="100" headerAlign="center">
  16. 枚举型参数取值范围
  17. <input property="editor" class="mini-combobox" style="width:150px;" valueField="codeValue" textField="codeName"
  18. onvaluechanged="onRange"/>
  19. </div>
  20. <div displayField="valueName" name="parameterValue" field="parameterValue" width="100" headerAlign="center">参数指标值
  21. <input property="editor" class="mini-combobox" style="width:150px" valueField="codeValue" textField="codeName"/>
  22. </div>
  23. <div field="measurementUnit">参数计量单位
  24. <input property="editor" class="mini-textbox"/>
  25. </div>
  26. </div>
  27. </div>
复制代码

  1. function addRow() {
  2.     var num = grid.data.length + 1;
  3.     var newRow = {sortCode: num};
  4.     grid.addRow(newRow, num);
  5.     grid.beginEditRow(newRow);
  6.   }
复制代码

  1. function OnCellBeginEdit(e) {
  2. var combo = e.sender;
  3. var row = grid.getEditorOwnerRow(combo);
  4. var id = combo.getValue();
  5. if (id == '902002') {//枚举型
  6. var editor = grid.getCellEditor("parameterRange", row);
  7. editor.show();
  8. var url = "${remotePath}/masterdata/dict/find-type.json?typeCode=" + id
  9. editor.setUrl(url);
  10. }
  11. if (id == '902001') {//数字型
  12. var editor = grid.getCellEditor("parameterRange", row);
  13. editor.hide();
  14. var valueEditor = grid.getColumn("parameterValue");
  15. }
  16. }
复制代码
就是在if (id == '902001')时,隐藏第三列的parameterRange,同时将第四列的parameterValue组件替换为<input property="editor" class="mini-textbox"/>

Rank: 8Rank: 8

沙发
发表于 2017-7-6 12:08:15 |只看该作者
行编辑模式不好切换编辑器的。
单元格编辑模式下可以
http://www.miniui.com/demo/#src=datagrid/celledit2.html

Archiver|普加软件

GMT+8, 2025-2-23 16:37 , Processed in 1.053585 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部