【EasyUI】datagrid相关操作、弹窗windows
2017-12-14 21:44
369 查看
datagrid相关操作、弹窗windows
1.datagrid+gridbar+固定列+默认设置
$.fn.datagrid.defaults.fitColumns = false; $.fn.datagrid.defaults.border = false; $.fn.datagrid.defaults.singleSelect = true; $.fn.datagrid.defaults.pagination = true; $.fn.datagrid.defaults.pageSize = 20; $.fn.datagrid.defaults.fit = true; $.fn.datagrid.defaults.pageList = [8, 10, 20]; $.fn.datagrid.defaults.checkOnSelect = false; $.fn.datagrid.defaults.selectOnCheck = false;
<div data-options="region:'center',border:false" title="数据列表"> <table id="grid" toolbar="#gridbar"></table> <div id="gridbar"> <div style="padding: 2px"> <a id="addBtn" class="easyui-linkbutton" data-options="plain:false,iconCls:'icon-add'">新增</a> <a id="updateBtn" class="easyui-linkbutton" data-options="plain:false,iconCls:'icon-page_edit'">查看/更新</a> <a id="delBtn" class="easyui-linkbutton" data-options="plain:false,iconCls:'icon-delete'">删除</a> </div> </div> </div>
/** grid对象+渲染+按钮* */ var grid = $("#grid"); renderGrid(); bindGridToorBar(); //渲染datagrid,固定数据无法分页。 function renderGrid(){ grid.datagrid({ url :URL.gridData, onDblClickRow : function(index,row) {//双击事件 openFormWin(row.id,row.d); }, queryParams:{//进行传参,此处只是模拟。 id :'FI-SW-01', d :'Large' }, frozenColumns :[[ {field:"id",checkbox:true}, {field:"a",title:"a",align:"left",halign:"center",width:100}, {field:"b",title:"b",align:"left",halign:"center",width:100}, {field:"c",title:"c",align:"left",halign:"center",width:100}, ]], columns:[[ {field:"d",title:"d",align:"left",halign:"center",width:100}, {field:"e",title:"e",align:"left",halign:"center",width:100}, {field:"f",title:"f",align:"left",halign:"center",width:100}, {field:"g",title:"g",align:"left",halign:"center",width:100}, {field:"h",title:"h",align:"left",halign:"center",width:100}, {field:"cz",title:"操作",align:"center",halign:"center",width:200,formatter: fmtCz} ]], onLoadSuccess : function(){ $(".fmtBtn").linkbutton({ plain : true, onClick : function(){ var id = $(this).data("id"); doSomething(id); } }); //也可用只渲染为按钮 $(".fmtBtn").each(function(){ var d = $(this).data("d"); $(this).tooltip({ position: 'right', content: "<span style='color:#abc'>"+d+"</span>", onShow: function(){ $(this).tooltip('tip').css({ backgroundColor: '#666', borderColor: '#666' }); } }); }); } }) }
2.formatter渲染行操作
按钮的渲染,已在上面onLoadSuccess中给出。/** * formatter方法 4000 */ function fmtCz(value,row,index){ return "<a class='fmtBtn' data-id='"+row.id+"' data-d='"+row.d+"' href='#' style='background-color:#3EF;color:#FFF;'>点击</a>"; }
3.datagrid选择/勾选
这2个方法可以设置为公用方法进行调用。function gridSelectedValid(grid) { var row = grid.datagrid("getSelected"); if (row != null) { return row; } else { $.messager.alert("提示", "无选择数据"); return false; } }
function gridChecked(grid) { var rows = grid.datagrid("getChecked"); if (rows.length > 0) { return $.map(rows, function(n) { return n.id; }).join(","); } else { $.messager.alert("提示", "无勾选数据"); return false; } }
4.gridbar操作
/** grid按钮事件* */ function bindGridToorBar() { $("#addBtn").bind("click",function(){ openFormWin(); }); $("#updateBtn").bind("click",function(){ var row = gridSelectedValid(grid); if(row){ openFormWin(row.id); } }); $("#delBtn").bind("click",function(){ deleteByIds(); }); }
//删除测试 function deleteByIds(){ var ids = gridCheckedValid(grid);//在通用js中设置了统一的方法 if(ids){ $.messager.confirm("提示","是否确定?",function(r){ if(r){ alert(ids); } }); } }
5.onDblClickRow行双击事件
行双击事件,一般为打开查看事件,需要开启新的弹窗页面。/**跳转到其他页面**/ function openFormWin(id,d){ var win = $("<div id='newWin'></div>").window({ title : id ? "查看" :"新增", href :URL.formWin, width : 500, height : 302, onLoad : function(){ if(id){ formLoadData(id); } $("#haha").textbox("setValue",d); }, onClose : function() { win.window('destroy'); } }); }
6.查询+清空+form序列化
$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
<a id="query" class="easyui-linkbutton" data-options="plain:false,iconCls:'icon-zoom'">查询</a> <a id="clear" class="easyui-linkbutton" data-options="plain:false,iconCls:'icon-cross'">重置</a>
/** 查询按钮事件 **/ function bindSearchBtns(){ //带参数,也可序列化数组类型,load时可查看js中url中的参数 $("#query").unbind().bind("click",function(){ var formData = queryForm.serializeObject({transcript:"overlay"}); grid.datagrid("load",formData); }); //查询form清空 $("#clear").unbind().bind("click",function(){ queryForm.form("clear"); }); }
7.总结
设置datagrid行高:easyui.css中设置.datagrid-row{height:25px;},默认为25px高,可自行修改。固定列:当列数目过多或太宽超过屏幕宽度,设置frozenColumns即可。
初始化查询参数:queryParams
行内部操作:formatter+onLoadSuccess方法渲染
datagrid勾选/选择:获取选择+获取主要id
form序列化:
datagrid默认设置:
8.源码
github:https://github.com/BeHappyWsz/easyui-validate.git资源下载:http://download.csdn.net/download/qq_33560169/10159211#
包含了1000个图标,无法直接放在百度盘内,若需要也可留言。
相关文章推荐
- Easyui DataGrid row的相关操作
- 在前端页面对easyui中的datagrid与jqgrid加载后的数据进行操作
- Java 中以DataGrid形式显示数据库查询结果和相关JTable操作程序
- Linux和Windows下文件和目录的相关属性及操作
- 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期
- Windows 帐号管理相关操作
- windows客户端开发--文件以及文件夹相关操作(windows api)
- easyui-datagrid行数据增删改操作
- java windows 下对进程的相关的操作
- Easyui Datagrid自定义按钮列(最后面的操作列)
- easyUI datagrid每行数据添加操作按钮的方法(实现方式二)
- easyUI——datagrid表格批量操作
- python 操作windows下目录的相关函数
- easyUI datagrid 跨行跨列操作
- 【转】SVN linux命令及 windows相关操作(一)
- easyui-datagrid自定义操作列
- 【转】SVN linux命令及 windows相关操作(二)
- 整合Thinkphp数据库基本操作CURD,界面datagrid采用EasyUi的Demo
- Windows 帐号管理相关操作
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(82)-Easyui Datagrid批量操作(编辑,删除,添加)