While editing any field of expand column of treegrid in jqgrid.. getting html contents of that cell, not the actual value. Any Solution?

匿名 (未验证) 提交于 2019-12-03 02:38:01

问题:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!