在jqgrid中编辑treegrid的任何扩展列的字段时,获取该单元格的html内容,而不是实际值。任何方案?

时间:2012-02-20 06:58:28

标签: jqgrid treegrid

在jggrid for treegrid中,当我点击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>

虽然我的实际值只是: - 子子任务1

我的网格设置如下: -

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',

});

2 个答案:

答案 0 :(得分:1)

您必须使用inline editing代替cell editing。您不能将TreeGrid与单元格编辑一起使用,或者至少不能使用您在ExpandColumn中声明的“名称”列的编辑。

答案 1 :(得分:0)

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

您可能希望尝试使用beforeSelectRow事件来缓存行的数据,然后再将其渲染为编辑模式。