To enable the treegrid parsing 'iconCls' property from each <tr> element, you need to override the treegrid view.
(function($){
var oldOnBeforeRender = $.fn.treegrid.defaults.view.onBeforeRender;
window.tview = $.extend($.fn.treegrid.defaults.view, {
onBeforeRender: function(target, parentId, data){
if ($.isArray(parentId)){
data = parseGridData(target);
oldOnBeforeRender.call(this, target, null, data);
} else {
oldOnBeforeRender.call(this, target, parentId, data);
}
}
});
function parseGridData(target){
var data = {
total:0,
rows:[]
};
var fields = $(target).datagrid('getColumnFields',true).concat($(target).datagrid('getColumnFields',false));
$(target).find('tbody tr').each(function(){
data.total++;
var row = {};
$.extend(row, $.parser.parseOptions(this,['iconCls','state']));
for(var i=0; i<fields.length; i++){
var field = fields[i];
var td = $(this).find('td:eq('+i+')');
row[field] = td.html();
}
data.rows.push(row);
});
return data;
}
})(jQuery);
<table class="easyui-treegrid" style="width:750px;height:500px"
data-options="
idField: 'id',
treeField: 'name3',
view: tview
">
<thead>
<tr>
<th field="id" width="50">id</th>
<th field="_parentId" width="50">pid</th>
<th field="name1" width="50">Size</th>
<th field="name2" width="50">Modified Date</th>
<th field="name3" width="150">Name</th>
<th field="name4" width="50">Size</th>
<th field="name5" width="50">Modified Date</th>
</tr>
</thead>
<tbody>
<tr data-options="iconCls:'icon-ok'">
<td>1</td>
<td></td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
</tr>
<tr>
<td>2</td>
<td>1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
<td>Data 5</td>
<td>Data 6</td>
</tr>
</tbody>
</table>