easyUi动态生成datagrid列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyUi动态生成datagrid列相关的知识,希望对你有一定的参考价值。

应用目标

在一个公共页面用单选按钮实现查询信息,根据选择不同,返回不同的信息,因此需要生成不同的列

实现代码:

function loadDataGrid(){
        $(‘#datagrid‘).datagrid({        //生成datagrid基本信息
                    url : ‘${ctx}/userBpm/workspace-listPersonalTasks‘,    //请求地址
                    此处省略......
            });
    setColumns();    //此处调用
}
//动态生成datagrid列
function setColumns(){
    var colnumsStr = "[ [";
        colnumsStr += "{title: ‘发起时间‘,field: ‘STARTTIME‘,width: 150},";
        colnumsStr += "{title: ‘结束时间‘,field: ‘ENDTIME‘,width: 150},";
        colnumsStr += "{title : ‘备注‘,field : ‘remark‘,width: 150}";
        colnumsStr += "] ]";
        var options={};
        options.columns = eval(colnumsStr);
        $(‘#datagrid‘).datagrid(options);
}

注:不知为何,动态生成列后第一次加载页面的时候如果有记录信息会执行两次请求,没有记录信息则会请求三次;当从有信息的页面到没有信息的页面的时候,没有信息的页面仍然会显示上一个页面的信息,刷新或再次请求则恢复正常。还有一些其他的莫名其妙的问题,最后无奈放弃此方法,如有高手大神知道,还请指导,谢谢。

以上是关于easyUi动态生成datagrid列的主要内容,如果未能解决你的问题,请参考以下文章

关于jquery easyui的datagrid组件,如何动态加载表头及其数据

easyui 怎么动态生成左侧菜单

jquery easyui datagrid 动态 加载列

动态修改easyui-datagrid 列

EasyUI DataGrid动态修改列标题

easyui dataGrid 动态添加列.