问题
In jqgrid for treegrid, when i click on the value displayed in a cell of expandColumn:'name' column to edit it, i am getting the html for the contents within the cell.
The html content i get is :-
<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>
Though my actual value is only :- Sub-subtask1
My grid set up is as below :-
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',
});
回答1:
You have to use inline editing instead of cell editing. You can't use TreeGrid together with cell editing or at least you can't use editing of the 'name' column which you declare in ExpandColumn
.
回答2:
It sounds like you're using getRowData to get the cell's value. If the cell is in edit mode, then getRowData will return the HTML of the cell, not the actual value. You have to call getRowData prior to putting the cell into edit-mode.
You may want to try using the beforeSelectRow event to cache the row's data before it gets rendered into edit mode.
来源:https://stackoverflow.com/questions/9357307/while-editing-any-field-of-expand-column-of-treegrid-in-jqgrid-getting-html-co