在学习过程中,可以参照JQuery EasyUI的官方网站学习。地址:http://www.jeasyui.com/demo/main/index.php

在学习JQuery EasyUI中的DataGrid标签时,可以参照http://www.jeasyui.com/documentation/datagrid.php进行学习。

本文主要讲解DataGrid标签的使用,怎么设置参数,怎么向后台请求数据等。

在使用过程中,我使用的是1.4版本,存在一个问题,当请求数据为0行时,会重新请求一次。

这一个问题,园中兄弟帮我解决了,地址是:http://www.cnblogs.com/Reaver/p/4056770.html,感谢flyreaver

一、在页面中添加标签

     @*这是datagrid标签展示的地方,其中iconcls表示datagrid中左上角展示的图标*@
<table id="dg" iconcls="icon-edit">
</table>
@*如果需要弹出层,请参照下边的代码,并在js中做相应的设置*@
<div id="dlg" class="easyui-dialog" title="弹出框标题" style="width: 400px; height: 200px; padding: 10px"
data-options="
iconCls: 'icon-add',
buttons: [{
text:'确定',
iconCls:'icon-ok',
handler:function(){
//点击'确定'按钮触发的事件
UpdateData();
}
},{
text:'取消',
handler:function(){
alert('cancel');;
}
}]
">
<div class="aaa">
<span>主键id:</span><input type="text" />
</div>
</div>

二、在js中添加方法,如下所示:

     <script type="text/javascript">
$(function () {
loadData();
}); function loadData() {
$('#dg').datagrid({
url: '/Financial/GetLoanDataInfo',//请求方法的地址
title: '信息管理',
width: 900,
height: 400,
fitColumns: true, //列自适应
nowrap: false,//禁止文字自动换行
idField: 'CID',//主键列的列明
loadMsg: '正在加载信息...',//当数据没有加载出来时显示的文字
pagination: true,//是否有分页
singleSelect: true,//是否单行选择
pagePosition: 'bottom',//分页符在底部,可选参数为top,bottom,both
pageSize: 15,//页大小,一页多少条数据
pageNumber: 1,//默认当前的页码
pageList: [15, 30, 50],//一页可显示数据的条目
queryParams: {},//往后台传递参数,json格式
columns: [[
//field表示绑定的字段名,如不绑定就随便写一个;
//checkbox: true表示这一列是checkbox
//hidden: true表示隐藏这一列
//sortable: true表示单击这一列可以排(升/降)序,这样请求数据时会向后台多传输两个参数
{ field: 'ck', checkbox: true, align: 'left', width: 50 },
{ field: 'CID', title: '1', width: 80, align: 'center', hidden: true },
{ field: 'CMoney', title: '2', width: 80, align: 'center', sortable: true },
{
field: 'CAge', title: '3', width: 80, align: 'center',
//这里表示对显示的信息做处理。value表示原本的值,在方法中对value进行逻辑判断并返回处理后的标签样式
formatter: function (value, row, index) {
//在该函数中,对文本大小判断,如果大于18,显示为红色的字
if (value > 18) {
return '<span style="color:red;">' + value + '</span>';
} else {
return value;
}
}
},
{
field: 'CTitle', title: '7', width: 80, align: 'center',
formatter: function (value, row, index) {
//在该函数中,把这一列变为一个a标签。设置class和自定义数据。为下边做准备
return "<a href='javascript:void(0);' data-id='" + row.CID + "' class='detailLink'>" + value + "</a>";
}
}
]],
//绑定数据成功后执行这个方法
onLoadSuccess: function () {
//先把弹出框关闭
$('#dlg').dialog('close');
//添加最后一列的单击事件
$('.detailLink').click(function () {
//获取自定义数据
var id = $(this).data('id');
//为弹出的层中的标签赋值
$('.aaa input').attr('value', id);
//弹出层
$('#dlg').dialog('open');
});
}
});
}
function UpdateData() {
//点击弹出层的确定按钮触发的事件——刷新datagrid
$('#dg').datagrid('reload');
};
</script>

三、后端得到datagrid传过去的参数,并返回数据

     //在本系统中,datagrid请求的方法需要是Action类型的方法
public ActionResult GetLoanDataInfo()
{
int pageIndex;
int pageSize;
string sortName = string.Empty;
string order = string.Empty;
//page是datagrid内部实现的,传过来的参数名。表示第几页
if (!int.TryParse(Request.Form["page"], out pageIndex))
{
pageIndex = ;
}
//rows表示这一页显示多少条数据
if (!int.TryParse(Request.Form["rows"], out pageSize))
{
pageSize = ;
}
//sort表示根据那一列排序;order表示升序或者降序,有两个值:asc、desc
if (!string.IsNullOrEmpty(Request.Form["sort"]))
{
sortName = Request.Form["sort"];
order = Request.Form["order"];
}
//这一块是从后台请求数据,把上边的参数传进去(本例是模拟的,没有传参数进方法,应该在方法中同时把总数据的条目数out出来)
List<TLoan> list = _DataHelper.GetData();
int totalCount = list.Count();
list = list.Skip((pageIndex - ) * pageSize).Take(pageSize).ToList();
//把需要传给前台的数据,分拣出来,赋给rows,这样可以把不需要的数据过滤掉,如果不用过滤数据,可以省略下边一行代码
var rows = from l in list
select new { CID = l.CID, CMoney= l.CMoney, CAge= l.CAge, CTitle= l.CTitle };
31
//rows = rows, total = totalCount;等号之前的名字是不可变的,因为是easy ui规定的。
//JsonRequestBehavior.AllowGet表示该方法可以被get方式请求,否则get方式请求得不到数据
return Json(new { rows = rows, total = totalCount }, JsonRequestBehavior.AllowGet);
}

JQuery EasyUI中datagrid的使用的更多相关文章

  1. JQuery EasyUI的datagrid的使用方式总结

    JQuery EasyUI的datagrid的使用方式总结第一步:添加样式和js脚本在前台添加展示数据表格的table元素 例如: <div> <table id="tt& ...

  2. 给Jquery easyui 的datagrid 每行增加操作链接(转)

    http://www.thinkphp.cn/code/207.html 通过formatter方法给Jquery easyui 的datagrid 每行增加操作链接我们都知道Jquery的EasyU ...

  3. 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件

    jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...

  4. EasyUI 中 DataGrid 控件 列 如何绑定对象中的属性

    EasyUI 中 DataGrid 控件 是我们经常用到的控件之一, 但是 DataGrid 控件 在绑定显示列时却不支持对象属性绑定. 模型如下: public class Manager impl ...

  5. Jquery EasyUI中treegrid

    Jquery EasyUI中treegrid的中右键菜单和一般按钮同时绑定事件时的怪异事件 InChatter系统开源聊天模块前奏曲   最近在研究WCF,又因为工作中的项目需要,要为现有的系统增加一 ...

  6. EasyUI中datagrid的基本用法

    EasyUI中datagrid是最常用的一个控件了,现在整理一下datagrid的基本语法,先展示下页面效果吧,如下图

  7. jquery easyUI中combobox的使用总结

    jquery easyUI中combobox的使用总结 一.如何让jquery-easyui的combobox像select那样不可编辑?为combobox添加editable属性 设置为false ...

  8. 求助关于jquery easyUI中的treegrid组件,请各位帮忙给个思路,谢谢啦

    现在项目中用到jquery easyUI中的treegrid组件,已经可以正常显示了.但是在保存的时候遇到问题,页面上参照官网的例子可以在页面更新,但是怎么获取编辑后的数据进而保存到数据库呢?

  9. EasyUI中datagrid双击事件

    EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...

随机推荐

  1. CMD魔法堂:获取进程路径和PID值的方法集

    一.前言    在开发发布更更新工具——更新Weblogic应用模块时,了解到更新Weblogic应用需要先关闭Weblogic应用窗口然后是清缓存.更新应用文件,最后再重启Weblogic应用窗口. ...

  2. Twitter算法面试题详解(Java实现)

    最近在网上看到一道Twitter的算法面试题,网上已经有人给出了答案,不过可能有些人没太看明白(我也未验证是否正确),现在给出一个比较好理解的答案.先看一下题目. 图1 先看看图图1.可以将方块看做砖 ...

  3. GoodsAndStaffManagermentSystem----Sprint 计划1

    需求分析:茗仕茶业管理系统是个商品-员工综合管理系统. 员工管理:设置不同的职位,不同职位有不同访问权限.员工只能卖商品,财务员只有查看商品的库存量和商品销售记录:公司老板可以查看所有信息--    ...

  4. 1215 spring 3 项目更新

    列志华 (组长) http://www.cnblogs.com/liezhihua/ 团队guihub https://github.com/LWHTF/OrderingFood 黄柏堂 http:/ ...

  5. 2015年百度之星初赛(1) --- D KPI

    KPI Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. sql where 1=1和 0=1 的作用

    sql where 1=1和 0=1 的作用 摘自: http://www.cnblogs.com/junyuz/archive/2011/03/10/1979646.html where 1=1; ...

  7. PowerDesigner工具箱(palette)如何打开

    我使用的PowerDesigner是15.1版本的,其他版本的操作可能会有所不同 我们在使用PowerDesigner的时候,有时候可能会不小心把悬浮的工具箱隐藏掉,就是下面这个东西 怎么显示出来呢, ...

  8. 关于我的OI生涯(AFO){NOIP2016 后}

    这篇我就随意写啦~不用统一的“题解”形式.♪(^∀^●)ノ 也分好几次慢慢更吧~ 对于NOIP2016的总结,我本想善始善终back回,但是心情不足以支撑我,那就只能有始有终了......下面进入我的 ...

  9. PHP学习笔记:删除与销毁session

    删除某个session值可以使用PHP的unset函数,删除后就会从全局变量$_SESSION中去除,无法访问. session_start(); $_SESSION['name'] = 'jobs' ...

  10. PHP KMP算法实现

    function getNext( $str ){ $ret = array(0=>0); for( $j =1; $j < strlen($str); $j++ ){ $_s = sub ...