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/
如有疑问,欢迎留言。
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 ...
随机推荐
- July 09th, 2018. Monday, Week 28th.
Happiness is an inside job. 自内寻找,才能找到幸福. From William Arthur Ward. Nobody wants to suffer, and we al ...
- 【Spring源码分析系列】ApplicationContext 相关接口架构分析
[原创文章,转载请注明出处][本文地址]http://www.cnblogs.com/zffenger/p/5813470.html 在使用Spring的时候,我们经常需要先得到一个Applicati ...
- ng6.1 新特性:滚回到之前的位置
在之前的版本中滚动条位置是一个大问题,主要表现在 1. 使用快捷键或者手势前进/后退的时候,滚动条的位置经常是错乱的,所以只能每个页面都要重置一个滚动条的位置: 2. #anchor1 锚点位置无法定 ...
- Promise探讨
一.前言 大家都知道JavaScript一大特点就是单线程,为了不阻塞主线程,有些耗时操作(比如ajax)必须放在任务队列中异步执行.传统的异步编程解决方案之一回调,很容易产生臭名昭著的回调地狱问题. ...
- Python基础(time模块,datetime模块)
#Author : Kelvin #Date : 2019/1/6 15:10 import time #获取此时的时间戳(从此刻到1970年一月一号零点的秒数) res1=time.time() p ...
- MongoDB3.2.22快速入门与使用【未完待续】
1.CentOS的安装和mongodb,UVE的使用 1.1.CentOS7安装 虚拟机CentOS7安装步骤:https://www.cnblogs.com/wyt007/p/10295834.ht ...
- Asp.Net Core 轻松学-从安装环境开始
Asp.Net Core 介绍 Asp.Net Core是微软新一代的跨平台开发框架,基于 C# 语言进行开发,该框架的推出,意味着微软从系统层面正式进击 Linux 服务器平台:从更新速度开 ...
- 多线程协作wait、notify、notifyAll方法简介理解使用 多线程中篇(十四)
在锁与监视器中有对wait和notify以及notifyAll进行了简单介绍 所有对象都有一个与之关联的锁与监视器 wait和notify以及notifyAll之所以是Object的方法就是因为任何一 ...
- C#创建IIS站点及相应的应用程序池,支持IIS6.0+Windows Server 2003. 使用Builder设计模式
测试项目结构: PS:IIS6UtilsBuilder, IIS7UtilsBuilder,IISUtilsBuilder以及IISDirector为Builder设计模式实现的核心代码.Progra ...
- docker daemon 配置文件
Ubuntu Ubuntu 14.04 配置文件位于 /etc/init/docker.conf Ubuntu 15.04 配置文件位于 /etc/default/docker,修改配置项DOCKER ...