EasyUI之DataGird动态组合列
Dojo、ExtJS、Jquery(EasyUI、jQgrid、ligerui、DWZ)、还有asp.net中的服务器控件、当然也少不了HTML 标签之table标签了。其中dojo、ExtJS、Jquery这三者应该算是并列关系吧,都是基于JavaScript的框架、只不过dojo、ExtJS的学习成本比jquery高一些罢了,学习曲线陡一些,中文文档少一些,不过功能之强大还属dojo 、extjs,dojo偏向于地图。使用各式各样的datagrid有几年了,一直都没有做过总结,姑且算是忙于工作吧。最为惭愧的是,每一种dataGrid都没有用的特别精通。在实际使用中遇到问题,除了谷歌,度娘意外就只有查看晦涩难懂的英文文档了。
注:dojo 有人直接念拼音、有人叫豆角(谐音)。
今天在这里简单介绍EasyUI中的DataGrid中的动态组合列,也是在项目中遇到的一个问题,就是同一个报表,不同的用户登录后只能查看自己权限范围内的报表字段。有这么两种思路:
- 隐藏列
鉴于现在的牛人非常多,随便一查看源码就能知晓其大意,便放弃了。
2. 动态组合显示的列 这里用了easyui 的datagrid
先来看一下
<table id="dg"></table>
$('#dg').datagrid({
                title: '',
                loadMsg: "数据加载中,请稍候……",
                height: $(window).height() - 31,
                width: $(window).width(),
                singleSelect: true,
                selectOnCheck: true,
                url: 'col.page',
                sortName: 'sn',
                sortOrder: 'desc',
                remoteSort: false,
                idField: 'id',
                columns: [[
                    { field: 'id', title: '主键编码', hidden: true },
                    { field: 'name', title: '字段名', width: 100 },
                    { field: 'alias', title: '字段别名', width: 100 },
                    { field: 'sn', title: '顺序', width: 100, sortable: true },
                    { field: 'insdt', title: '创建时间', width: 220 },
                    { field: 'opuser', title: '操作用户', hidden: true, width: 100 },
                ]],
                onDblClickRow: function (rowIndex, rowData) {
                    upd();
                }
 });
$('#dg').datagrid()中所包含的部分为一个Object
Columns中所包含的部分为一个嵌套数组Object
说到这里应该都明白其中大意了吧,看实现代码
  function easyUIDataGrid(medid) {
            var $datagrid = {};
            var columns = new Array();
            $datagrid.title = "";
            $datagrid.height = $(window).height() - 31;
            $datagrid.width = $(window).width();
            $datagrid.sortName = "dt";
            $datagrid.sortOrder = "desc";
            $datagrid.idField = "id";
            var param = { "medid": medid };
            $.ajax({
                url: 'getCol.page',
                type: 'post',
                data: "medid=" + medid,
                dataType: "json",
                async: false,
                success: function (returnValue) {
            //异步获取要动态生成的列 别名,宽度也可以
                    var arr = returnValue;
                    $.each(arr, function (i, item) {
                        columns.push({ "field": item.colname, "title": item.colalias, "width": 100, "sortable": true });
                    });
                    $datagrid.columns = new Array(columns);
                    $('#dg').datagrid($datagrid);
                    console.log(JSON.stringify($datagrid));
                }
            });
        }
转载请注明出处   http://guanhp2013.cnblogs.com/
http://guanhp2013.cnblogs.com/
如有疑问,欢迎留言。
EasyUI之DataGird动态组合列的更多相关文章
- jQuery EasyUI中DataGird动态生成列的方法
		EasyUI中使用DataGird显示数据列表中,有时需要根据需要显示不同的列,例如,在权限管理中,不同的用户登录后只能查看自己权限范围内的列表字段,这就需要DataGird动态组合列,下面介绍Eas ... 
- 雷林鹏分享:jQuery EasyUI 数据网格 - 动态改变列
		jQuery EasyUI 数据网格 - 动态改变列 数据网格(DataGrid)列可以使用 'columns' 属性简单地定义.如果您想动态地改变列,那根本没有问题.为了改变列,您可以重新调用dat ... 
- 扩展jQuery easyui datagrid增加动态改变列编辑的类型
		$.extend($.fn.datagrid.methods, { addEditor : function(jq, param) { if (param instanceof Array) { $. ... 
- easyui的datagird动态设置当前页数
		if (ishas) { $("#tg").datagrid("options").pageNumber = 1; $('#tg').datagrid('rel ... 
- easyui如何动态改变列的编辑属性
		动态改变列的编辑属性 var tt=$('#dg').datagrid('getColumnOption', 'yearContent'); //通过列名获得此列 tt.editor={type:'t ... 
- EasyUI     datagrid动态生成列
		任务描述:根据用户选择时间段,生成列数据,如图 
- 如何用easyui+JAVA 实现动态拼凑datagrid表格(续)
		前面一段时间写了一篇文章: 如何用easyui+JAVA 实现动态拼凑datagrid表格 这篇文章的话,效果是可以实现,但是经过我反复试验,还是存在一些问题的. 今天这篇文章就是向大家介绍下如何避免 ... 
- SpringMVC结合easyUI中datagird实现分页
		SpringMVC结合easyUI中datagird实现分页 DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.轻量级,单元格合并.多列标题.冻结列和页脚只是其中 ... 
- GridView动态添加列并判断绑定数据DataTable的列类型控制展示内容
		此篇随笔是2013年根据项目需求开发记录的,不一定符合大众口味,只需了解开发思路,毕竟解决方案多种多样. 下面简单说说需求点吧: (1)通过下拉列表可以选择一个DataSet(数据集),一个DataS ... 
随机推荐
- MARKY一下。
			答:其实RUP整个流程都在讲SQA.业界常见的模型,譬如CMM/CMMI,六西格玛,ISO9000,RUP,它们做的基本上是同一件事情--都是在做流程改进,都在做质量控制,但是各自的侧重点不一样.像R ... 
- Windows系统ping本地虚拟机~
			虚拟机左上角[编辑]>>>[虚拟网络编辑器] [VMnet1]>>>子网ip:192.168.124.0 子网掩码:255.255.255.0 [VMnet8]&g ... 
- Kafka系列2-producer和consumer报错
			1. 使用127.0.0.1启动生产和消费进程: 1)启动生产者进程: bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --top ... 
- 不同数据库的表迁移SqlServer
			INSERT INTO table SELECT * FROM OPENDATASOURCE ('SQLOLEDB', 'Data Source=172.168.44.146;User ID=s ... 
- 20190415 - iOS11 无法连接到 App Store 的解决办法
			问题:更新 iOS 11 后,打开 App Store 提示: 无法连接至 app store 解决: 进入 iOS 系统[设置][iTunes Store 与 App Store],退出当前登录用户 ... 
- 使用 Moq 测试.NET Core 应用 -- Mock 属性
			第一篇文章, 关于Mock的概念介绍: https://www.cnblogs.com/cgzl/p/9294431.html 第二篇文章, 关于方法Mock的介绍: https://www.cnbl ... 
- 一个请求过来都经过了什么?(Thrift版)
			一.背景 最初遇到这个问题是去58面试.部门领导是原同事,所以面试比较水.水到什么程度呢? 面试就是走个形式而已,不会不过的. 一面面试官就问了一个问题:“一个请求过来都经过了什么?” 剩下的全是闲 ... 
- 深入Go的底层,带你走近一群有追求的人
			目录 缘起 自我介绍的技巧 硬核知识点 什么是plan9汇编 汇编角度看函数调用及返回过程 汇编角度看slice 正确参与Go夜读活动的方式 阅读原文 上周六晚上,我参加了"Go夜读&quo ... 
- vscode下面开发vue.js项目
			vscode下面开发vue.js项目 https://blog.csdn.net/linzhiqiang0316/article/details/79176651 vscode下面开发vue.js ... 
- Spring Boot Security 整合 OAuth2 设计安全API接口服务
			简介 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版.本文重点讲解Spring Boot项目对OAuth2进行的实现,如果你对OAut ... 
