Easui中datagrid实现动态控制columns

来源:互联网 发布:高斯键盘知乎 编辑:程序博客网 时间:2024/04/30 15:22

场景如下:

           struts2+easyui实现动态表单,字段取自不同的表,datagrid显示的列名要根据不表的显示不同的字段。总之就是要控制datagrid中的columns属性。columns属性是一个数组。要控制这个属性就是要改变这个数组的内容。

从后台到前台原理如下:

1.  一个菜单链接进入动态表单之前要先进入一个action,通过这个action取得要显示的表单的字段信息--一个装有字段信息的List,把这个list在action中放在request中的attribute中;

2.在页面中通过request得到这个装有字段信息的List集合,通过遍历这个集合组装columns数组;

3.把这个数组放入到datagrid中即可。

代码如下:

JSP中:

<%

    List  fields = request.getAttribut("fieldList");

%>

<script>

      var fields = '<%=fields%>'; //注:这个地方的引号要用单引号,我用了双引号就报错,不知道为什么?

var cols = [];

      for(var i=0;i<fields.length;i++){

var field = fields[i];

cols.push({filed:field.name,title:field.text,width:80});

}

$('#tt').datagrid({
columns:[cols]
});

</script>

<html>

<table id="tt" title="Frozen Columns" class="easyui-datagrid" style="width:550px;height:250px"
url="data/datagrid_data.json"
singleSelect="true" iconCls="icon-save">
</table>

</html>


原创粉丝点击