EasyUI的treegrid组件动态加载数据问题的解决办法
作者:
最近涉及到treegrid组件的查询,需要根据查询条件动态更新EasyUI的treegrid组件的动态加载查询结果
搜遍了treegrid源码和文档发现treegrid是扩展自datagrid和tree的,不过以往利用datagrid的reload方法加参数的方式加载查询结果数据,可是treegrid却只执行reload不能加载带参数的查询结果,可能是做了限制,如下代码不能加载查询结果:
<table id='treegrid' class='easyui-treegrid' url='/User/List'></table>
$('#treegrid').treegrid('reload',{'name':'mikel'});
于是又去官方论坛搜索相关问题,发现一个有价值的帖子,茅塞顿开,为什么要指望treegrid组件来异步查询数据,为什么不先异步,然后在加载返回的json数据呢?代码如下:
function loadData()
{
$.post('/User/List',{name:'mikel'},function(data){
$('#treegrid').treegrid('loadData',data);
},'json');
}
复制代码 代码如下:
<table id='treegrid' class='easyui-treegrid' url='/User/List'></table>
$('#treegrid').treegrid('reload',{'name':'mikel'});
于是又去官方论坛搜索相关问题,发现一个有价值的帖子,茅塞顿开,为什么要指望treegrid组件来异步查询数据,为什么不先异步,然后在加载返回的json数据呢?代码如下:
复制代码 代码如下:
function loadData()
{
$.post('/User/List',{name:'mikel'},function(data){
$('#treegrid').treegrid('loadData',data);
},'json');
}