jQuery MiniUI

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

griddata中两列数据的联动更新 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2014-8-20 18:57:48 |只看该作者 |倒序浏览
做了个grid,其中有两列为ComboBox,例如例如“国家”和“国家代码”,现在想在”国家“下拉列表中选择国家后,对应的“国家代码”列自动更新。请问该怎么做呢?

Rank: 8Rank: 8

沙发
发表于 2014-8-21 09:15:17 |只看该作者

Rank: 1

板凳
发表于 2014-8-26 00:54:14 |只看该作者
felt 发表于 2014-8-21 09:15
参考联动编辑的示例
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html

不使用行编辑,使用单元格编辑
这样写CellCommitEdit事件,为什么不能实现联动?
function OnCellCommitEdit(e) {
              var grid = e.sender;
              var record = e.record;
              var field = e.field, value = e.value;
              if (field == "dept_id") {
                  var id = record.dept_id
                  if (id) {
                      var row = grid.getEditorOwnerRow(grid);
                      var editor = grid.getCellEditor("position", row);
                  
                      var url = "../data/AjaxService.aspx?method=GetPositionsByDepartmenId&id=" + id;
                      editor.setUrl(url);
                      editor.select(0);
                  }
               }
           }

Rank: 8Rank: 8

地板
发表于 2014-8-26 09:13:42 |只看该作者
xq759 发表于 2014-8-26 00:54
不使用行编辑,使用单元格编辑
这样写CellCommitEdit事件,为什么不能实现联动?
function OnCellCommitE ...

http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
这个例子不就是单元格编辑吗?
编辑器在开始编辑的时候才创建,请参考我们示例做

Rank: 1

5#
发表于 2014-8-26 10:21:22 |只看该作者
dforce 发表于 2014-8-26 09:13
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
这个例子不就是单元格编辑吗?
编辑器在开 ...

这个例子是单纯的清空,我现在想要实现的是,更改“部门”时,直接将对应的第一个“职位”赋予“职位列”

Rank: 8Rank: 8

6#
发表于 2014-8-26 10:24:17 |只看该作者
xq759 发表于 2014-8-26 10:21
这个例子是单纯的清空,我现在想要实现的是,更改“部门”时,直接将对应的第一个“职位”赋予“职位列” ...

你第一列更改的时候第二列编辑器还没有创建,不能获取到第一个职位

Rank: 1

7#
发表于 2014-8-26 12:01:49 |只看该作者
dforce 发表于 2014-8-26 10:24
你第一列更改的时候第二列编辑器还没有创建,不能获取到第一个职位

那使用updateRow如何赋新的查询数据(url)?

Rank: 8Rank: 8

8#
发表于 2014-8-26 12:13:53 |只看该作者
xq759 发表于 2014-8-26 12:01
那使用updateRow如何赋新的查询数据(url)?

自己用ajax去获取相关数据,updateRow去更新相关单元格

Rank: 1

9#
发表于 2014-8-27 22:46:51 |只看该作者
按照版主的方法实现了,谢谢
function OnCellCommitEdit(e) {
            var updataId = "";
            var updataValue = "";
            var grid = e.sender;
            var record = e.record;
            var field = e.field;
            var value = e.value;

            if (field == "dept_id") {
                $.ajax({
                    type: "Post",
                    url: "../data/AjaxService.aspx/AjaxGetPositionsByDeptId",
                    data: "{'id':'" + value + "'}",
                    contentType: "application/json;charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        updataId = data.d["id"];
                        updataValue = data.d["name"];
                        $("#updata").text(updataId);
                        grid.updateRow(record, { position: updataValue, position_name: updataValue });
                    }
                })
            }
        }

Archiver|普加软件

GMT+8, 2024-11-5 16:24 , Processed in 1.049090 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部