在jqgrid中编辑树网格展开列的任何字段时.获取该单元格的html内容,而不是实际值.任何解决方案



在树网格的jqgrid中,当我单击expandColumn:'name'列的单元格中显示的值进行编辑时,我将获得该单元格中内容的html。

我得到的html内容是:-

<div class="tree-wrap tree-wrap-ltr" style="width: 54px;"><div style="left: 36px;" class="ui-icon ui-icon-radio-off tree-leaf treeclick"></div></div><span class="cell-wrapperleaf">Sub-subtask1</span>

尽管我的实际价值只有:-Sub-subtask1

我的网格设置如下:-

jQuery("#tree").jqGrid({
        url:'json/jsonSamplePots.json',
        datatype: "json",
        mtype:'GET',
        colNames: ["id", "no.", "name", "col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10", "col11", "col12", "col13", "col14", "col15", "col16"],
        colModel: [
            {name:'id',width: 30, editable:false, align:"right",sortable:false, hidden: true, key: true},
            {name:'no',width:80, editable:false, align:"left", sortable:true, sorttype:"int"},
            {name:'name', width:150, editable:true, sortable:true, sorttype:"text"},
            {name:'col1', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
            {name:'col2', width:80, editable:true, align:"right", sortable:true, sorttype:"date"},
            {name:'col3', width:80, editable:true, align:"right", sortable:true, sorttype:"date"},
            {name:'col4', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
            {name:'col5', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
            {name:'col6', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
            {name:'col7', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"int"},
            {name:'col8', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
            {name:'col9', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"date"},
            {name:'col10', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"int"},
            {name:'col11', width:120, editable:true, align:"left", sortable:true, sorttype:"text"},
            {name:'col12', width:80, editable:true, align:"left", sortable:true, sorttype:"text"},
            {name:'col13', width:80, editable:true, align:"right", sortable:true, hidden: true, sorttype:"text"},
            {name:'col14', width:80, editable:false, align:"right", sortable:true, hidden: true, sorttype:"text"},
            {name:'col15', width:300, editable:true, align:"left", sortable:true, sorttype:"int"},
            {name:'col16', width:80, editable:true, align:"right", sortable:true, sorttype:"int"},
        ],
        rowNum:10,
        rowList:[10,20,30],
        treeGridModel:'adjacency',
        treeGrid: true,
        cellEdit: true,
        ExpandColumn:'name',
        cellsubmit : 'clientArray',
});

您必须使用内联编辑而不是单元格编辑。不能将TreeGrid与单元格编辑一起使用,或者至少不能对在ExpandColumn中声明的"name"列进行编辑。

听起来像是在使用getRowData来获取单元格的值。如果单元格处于编辑模式,那么getRowData将返回单元格的HTML,而不是实际值。在将单元格置于编辑模式之前,必须调用getRowData。

您可能需要尝试使用beforeSelectRow事件来缓存行的数据,然后再将其呈现为编辑模式。

最新更新