EasyUI DataGrid使用示例
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EasyUIDemo.aspx.cs" Inherits="C_EasyUIDemo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EasyUI DataGrid示例</title>
<!--easyui-->
<link rel="stylesheet" type="text/css" href="../JS/jquery-easyui-1.5/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="../JS/jquery-easyui-1.5/themes/icon.css" />
<script type="text/javascript" src="../JS/jquery-easyui-1.5/jquery.min.js"></script>
<script type="text/javascript" src="../JS/jquery-easyui-1.5/jquery.easyui.min.js"></script>
<script type="text/javascript" src="../js/common.js"></script>
<script type="text/javascript">
$(function () {
var IsCheckFlag = true;
$("#tt").datagrid({
title: "数据分页",
url: "easyuihandler.ashx?method=query",
width: "100%",
height: "628px",
striped: true, //交替行换色
rownumbers: true, //行号
pagination: true, //显示底部分页
fitColumns: true,//自动适应。先给列随便加个宽度
toolbar: "#tb",
checkOnSelect: false, //true,当用户点击行的时候该复选框就会被选中或取消选中。
selectOnCheck: true, //true,单击复选框将永远选择行。
onClickRow: function (index, row) {
var d_id = row["d_id"];
//alert(d_id);
},
onClickCell: function (rowIndex, field, value) {
//alert(value);
IsCheckFlag = false;
},
onSelect: function (rowIndex, rowData) {
if (!IsCheckFlag) {
IsCheckFlag = true;
$("#tt").datagrid("unselectRow", rowIndex);
}
},
onUnselect: function (rowIndex, rowData) {
if (!IsCheckFlag) {
IsCheckFlag = true;
$("#tt").datagrid("selectRow", rowIndex);
}
}
}); var p = $('#tt').datagrid('getPager');
$(p).pagination({
/*
页数文本框前显示的汉字 修改每页默认条数
搜索pageList在jquery.easyui.min.js中修改,
分页区下拉分页数量集合和默认每页分页条数
striped属性 交替行换色
*/
beforePageText: '第',
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from}-{to} 条记录,共 {total} 条记录'
});
}); //搜索
function doSearch() {
$('#tt').datagrid('load', {
dname: $('#d_name').val(),
delse: $('#d_else').val()
});
}; //导出
function doExport() {
var models = [];
var rows = $('#tt').datagrid('getChecked');
for (var i = 0; i < rows.length; i++) {
models.push(rows[i].d_id);
}
alert(models.join(','));
} //新增
function doAdd() {
alert("新增");
} //格式化列数据
function formatPrice(val, row, index) {
if (row.d_amount < 1010) {
return '<span style="color:red;">' + val + '</span>';
} else {
return val;
}
} //自定义操作列
function formatOper(val, row, index) {
var str = "";
str += '<a href="javascript:void(0);" onclick="doEdit(' + row.d_id + ')">修改</a>';
str += ' ';
str += '<a href="javascript:void(0);" onclick="doDelete(' + row.d_id + ')">删除</a>';
return str;
}
//编辑
function doEdit(id) {
alert(id);
}
//删除
function doDelete(id) {
alert(id);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="tt">
<thead>
<tr>
<th field="ck" width="100" align="center" checkbox="true"></th>
<th field="d_id" width="100" align="center">编号</th>
<th field="d_name" width="100" align="center" sortable="true">用户名</th>
<th field="d_password" width="100" align="center" sortable="true">用户密码</th>
<th field="d_else" width="100" align="center" sortable="true">备注信息</th>
<th field="d_amount" width="100" align="center" sortable="true" formatter="formatPrice">账户余额</th>
<th field="_operate" width="100" align="center" formatter="formatOper">操作</th>
</tr>
</thead>
</table>
</div> <!--查询区域-->
<div id="tb" style="padding: 3px">
<span>用户名:</span>
<input id="d_name" style="line-height: 26px; border: 1px solid #ccc" />
<span>备注信息:</span>
<input id="d_else" style="line-height: 26px; border: 1px solid #ccc" />
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" onclick="doSearch()">查询</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="doAdd()">新增</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-clear'" onclick="doExport()">批量删除</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-export'" onclick="doExport()">导出选中</a>
</div>
</form>
</body>
</html>
<%@ WebHandler Language="C#" Class="EasyUIHandler" %> using System;
using System.Web;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Data;
using System.Data.SqlClient; public class EasyUIHandler : IHttpHandler { public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int pageIndex = MSCL.RequestHelper.GetInt("page", 0); //当前页码
int pageSize = MSCL.RequestHelper.GetInt("rows", 0); //每页显示记录数
string method = MSCL.RequestHelper.GetString("method");//前台传的标示值 string JsonStr = string.Empty;
try
{
switch (method)
{
//查询数据
case "query":
string dname = MSCL.RequestHelper.GetString("dname");
string delse = MSCL.RequestHelper.GetString("delse"); string sort = MSCL.RequestHelper.GetString("sort"); //排序字段名。
string order = MSCL.RequestHelper.GetString("order"); //排序方式
string where = string.Empty;
where += string.IsNullOrWhiteSpace(dname) ? "" : " And d_name like '%" + dname + "%' ";
where += string.IsNullOrWhiteSpace(delse) ? "" : " And d_else like '%" + delse + "%' ";
JsonStr = QueryData(pageIndex, pageSize, where, sort, order);
break;
default:
break;
}
}
catch (Exception ex)
{
throw;
}
context.Response.Write(JsonStr);
context.Response.End();
} #region
/// <summary>
/// 查询数据
/// </summary>
/// <param name="pageIndex">当前页码</param>
/// <param name="pageSize">每页记录数</param>
/// <param name="where">查询条件</param>
/// <param name="orderField">排序字段</param>
/// <param name="order">排序方式 asc或desc</param>
/// <returns></returns>
protected string QueryData(int pageIndex, int pageSize, string where,string orderField,string order)
{
int totalRecord = 0;
int TotalPage = 0;
string orderStr = string.IsNullOrWhiteSpace(orderField) ? "d_id asc" : string.Format("{0} {1}", orderField, order);
DataTable dt = MSCL.PagingHelper.QueryPagingMssql("TestTable", "*", orderStr, pageIndex, pageSize, where, out totalRecord, out TotalPage);
PageData data = new PageData();
data.total = totalRecord;
List<JObject> list = new List<JObject>();
foreach (DataRow item in dt.Rows)
{
JObject obj = new JObject();
obj.Add("d_id", item["d_id"].ToString());
obj.Add("d_name", item["d_name"].ToString());
obj.Add("d_password", item["d_password"].ToString());
obj.Add("d_else", item["d_else"].ToString());
obj.Add("d_amount", item["d_amount"].ToString());
list.Add(obj);
}
data.rows = list;
return JsonConvert.SerializeObject(data);
}
#endregion public bool IsReusable {
get {
return false;
}
} public class PageData
{
public int total;
public List<JObject> rows;
} }
$('#ddlFather').combotree('loadData',@Html.Raw(ViewBag.Level));
$("#ddlFather").combotree('setValue','@ViewBag.FatherId');//默认选中
var t = $('#ddlFather').combotree('tree'); // 得到树对象
var a = t.tree('getSelected').id; //取值
var b = t.tree('getSelected').text; //取值 $('#ddlRole').combobox({
data: @Html.Raw(ViewBag.RoleData),
valueField:'GroupID',
textField:'GroupName',
onChange : function(){
var value = $(this).combobox('getValue');
$("#roleId").val(value);
//console.log(value);
$.ajax({
url: '@Url.Action("GetRole", "Home")',
data: {"roleId": value },
type: 'GET',
timeout: 1000,
cache: false,
success: function(data){
setCheckbox(data)
}
})
}
});
var a = $("#ddlRole").combobox('getValue'); //取值
var a = $("#ddlRole").combobox('getText'); //取文字 $("#resourcelist").treegrid({
title: "权限分配",
url: '@Url.Action("GetResourceTree", "Home")',
idField: 'moduleid',
treeField: 'module_name',
//rownumbers: true, //行号
toolbar: '#tb',
fitColumns: true,//自动适应。先给列随便加个宽度
border: false
}); <table id="resourcelist">
<thead>
<tr>
<th data-options="field:'moduleid',width:40">资源编号</th>
<th data-options="field:'module_name',width:150">资源名称</th>
<th data-options="field:'actions',width:200,formatter:formatOpAction">操作</th>
</tr>
</thead>
</table>
<input id="ddlRole" class="easyui-combobox" style="width:200px" />
EasyUI DataGrid使用示例的更多相关文章
- 实现easyui datagrid在没有数据时显示相关提示内容
本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...
- Jquery easyui datagrid 导出Excel
From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...
- 对easyui datagrid组件的一个小改进
#对easyui datagrid组件的一个小改进 ##问题 在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整 ...
- easyui datagrid单击单元格选择此列
示例代码实现单击jquery easyui datagrid的单元格时,取消datagrid默认选中高亮此行的样式,改为选中单击的单元格所在的列,高亮此列上的所有单元格.可以配置全局single变量, ...
- (转)easyui datagrid 部分参数说明
easyui datagrid 部分参数 数据表格属性(DataGrid Properties) 属性继承控制面板,以下是数据表格独有的属性. 名称 类型 描述 默认值 columns array 数 ...
- DataTables VS EasyUI DataGrid 基础应用 转
DataTables中文网推出了 第一篇 关于DataTables和其他表格插件比较后,为了把让这个比较更有意义,更能帮助到大家,DataTables中文网 做了问卷调查,根据小伙伴们的填写我归纳了一 ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- JQuery easyUI DataGrid 创建复杂列表头(译)
» Create column groups in DataGrid The easyui DataGrid has ability to group columns, as the followin ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页
系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...
随机推荐
- 【Socket编程】Java中网络相关API的应用
Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出 ...
- Js函数初学者练习(一)switch-case结构实现计算器。
前 言 JRedu 给大家介绍一点JS函数的练习题希望初学者多做一些练习能够更好的掌握JS的函数,以及能够提升大家的逻辑思维.(我也是个渣渣希望路过的大神多提建议或意见) 希望能够对大家有所帮助 ...
- 【Alpha】第二次Daily Scrum Meeting
GIT 一.今日站立式会议照片 二.会议内容 1.统计,收集整理礼物的资料与详情 2.确定网页的实现方式 三.燃尽图
- 201521123091 《Java程序设计》第6周学习总结
Java 第六周总结 第六周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以 ...
- 201521123107 《Java程序设计》第11周学习总结
第11周作业-多线程 1.本周学习总结 2.书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法 ...
- java201521123118《java程序设计》第5周总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1. 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过 ...
- 数据结构与算法->树->2-3-4树的查找,添加,删除(Java)
代码: 兵马未动,粮草先行 作者: 传说中的汽水枪 如有错误,请留言指正,欢迎一起探讨. 转载请注明出处. 目录 一. 2-3-4树的定义 二. 2-3-4树数据结构定义 三. 2-3-4树的可以得到 ...
- HTTP第一篇
为什么要学HTTP? 我们绝大多数的Web应用都是基于HTTP来进行开发的.我们对Web的操作都是通过HTTP协议来进行传输数据的. HTTP的诞生主要是为了能够让文档之间相互关联,形成超文本可以互相 ...
- Intellij idea使用Junit
之前使用idea做Junit测试的时候,都是一个一个方法来写,然后在方法名@Test这样测试-.. 后来发现eclipse有直接把整个类的方法都可以抽取出来,自动生成Junit测试方法-于是在找Ide ...
- 编译Linux-4.9.9内核流程记录
本文部分资料出自: http://www.cnblogs.com/xiaocen/p/3717993.html 首先下载代码: https://www.kernel.org/pub/linux/ker ...