jQuery MiniUI

标题: 可编辑的DateGrid的控件赋数据源的问题 [打印本页]

作者: wzm    时间: 2018-4-12 14:33:17     标题: 可编辑的DateGrid的控件赋数据源的问题

在可编辑的DateGrid中,有一列的控件为combobox,每一行的combobox的数据源都是不同的并且是随着行数的增加会发生改变,所以我用了oncellbeginedit,在编辑时动态给选定行的的combobox赋数据源,用了setDate,但是发现,复制的时候,所有行的combobox控件的数据源都被改变了,请问是哪里有问题呢combobox行:
<div type="comboboxcolumn" autoshowpopup="true" field="lha_originallhaid"  headeralign="center">
          变更、认定的原编号
          <input property="editor" class="mini-combobox" textfield="value" idfield="id"  />
</div>
赋数据源的方法:
        function cellbegineditTg(e) {
            if (e.field == "lha_originallhaid") {
                var row = dgHouseArea.getSelected();
                var list = new Array();
                var data = dgHouseArea.data;
                for (var i = 0; i < data.length; i++) {
                                var obj = new Object();
                                obj.id = data.id;
                                obj.value = data.name;
                                list.push(obj);
                }
                var target = e.editor;
                target.setData(list);
                e.editor = target;
                e.column.editor = target;
            }
        }




作者: wzm    时间: 2018-4-12 14:35:39

我只想对一行的该控件赋数据源,但是运行之后所有的数据源都发生了变换
作者: dforce    时间: 2018-4-13 10:16:32

wzm 发表于 2018-4-12 14:35
我只想对一行的该控件赋数据源,但是运行之后所有的数据源都发生了变换

因为所有行的编辑器都是一个,你这里可以每行都重新setData
作者: wzm    时间: 2018-4-13 14:23:29

dforce 发表于 2018-4-13 10:16
因为所有行的编辑器都是一个,你这里可以每行都重新setData

我换了个思路,数据源换了就换了,反正值没变,我通过getCellEl(row, column)获取了DOM对象,把innerHTML重新拼接了一下,innerHTML += '<div>' + text + '</div>',但是发现直接赋值没有生效,是什么原因呢?
作者: felt    时间: 2018-4-14 12:55:33

wzm 发表于 2018-4-13 14:23
我换了个思路,数据源换了就换了,反正值没变,我通过getCellEl(row, column)获取了DOM对象,把innerHTML ...

1 type="comboboxColumn"的列不支持中间改变数据,只能初始化给定数据
2 如果你下拉数据有改变,请参考这个示例
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
每行都处理。




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