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);
}

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

猜你喜欢

转载自blog.51cto.com/1197822/2156828