The 'loadFilter' function will be called before data loaded into datagrid. Here is the simple load filter functionality to dynamic create columns.
<table class="easyui-datagrid" data-options="loadFilter: loadFilter">
</table>
function loadFilter(data){
if (!this.columns && data.columns){
this.columns = data.columns;
var opts = $(this).datagrid('options');
var url = opts.url;
$(this).datagrid({columns:data.columns,url:null});
setTimeout(function(){
opts.url = url;
},0);
}
return data;
}
The json data to be loaded must contains 'columns' definition, such as:
{"total":1,"rows":[{...}],"columns":[[...]]}