JQuery EasyUI的datagrid的使用方式总结

第一步:添加样式和js脚本在前台添加展示数据表格的table元素
 例如:

<div>
    <table id="tt" style="width: 700px;" title="标题,可以使用代码进行初始化,也可以使用这种属性的方式" iconcls="icon-edit">
    </table>
</div>

注:表格的属性可以在table中设置(Unobtrusive),也可以直接使用js脚本进行控制。建议使用js脚本控制
  
 
 属性的定义:
 可以参见Jquery easyui API
 
第二步:在doucment.ready中初始化表格的属性以及数据获取的方式。
    例如:

$('#tt').datagrid({
				url: '/UserInfo/GetAllUserInfos',
				title: '演示表格使用',
				width: 700,
				height: 400,
				fitColumns: true,
				idField: 'ID',
				loadMsg: '正在加载用户的信息...',
				pagination: true,
				singleSelect: false,
				pageSize:10,
				pageNumber:1,
				pageList: [10, 20, 30],
				queryParams: {},
				columns: [[
						{ field: 'ck', checkbox: true, align: 'left', width: 50 },
						{ field: 'ID', title: '主键', width: 80 },
						{ field: 'UserName', title: '用户名', width: 120 },
						{ field: 'SubTime', title: '提交时间', width: 80, align: 'right',
							formatter:function(value,row,index){
								return (eval(value.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"))).pattern("yyyy-M-d h:m:s.S");
							}
						 },
						 {field:'showprice',title:'商品价格',width:80,align:'right',
						            styler:function(value,row,index){
							            if (value < 20){
								            return 'background-color:#ffee00;color:red;';
							            }
						            },
                                    formatter:function(value,row,index){
                                       return "<a href='#' οnclick='editGoodsPrice("+row.goodsid+");return false;'>"+value+"</a>";
                                    }
					    }
					]],
				 toolbar: [{
							id: 'btnDownShelf',
							text: '上架',
							iconCls: 'icon-add',
							handler: function () {
								var rows = $('#goodGrid').datagrid('getSelections');
								if (!rows || rows.length == 0) {
									//alert("请选择要修改的商品!");
									$.messager.alert("选择商品提醒", "请选择要修改的商品!", "error");
									return;
								}
								$.messager.confirm("上架提醒", "您是否要真的要将此商品上架?", function (r) {
									if (r) {
										updateGoodsNewHot(rows, "onshelf");
									}
								});
							}
				}],
				onHeaderContextMenu: function (e, field) {

				}
	});


 

第三步:后台设置加载的数据:

    注意:表格Post或者get回来的请求中
 page:3 代表page为key,然后选择的当前页码为3
 rows:10 代表一页的大小为10
 后台返回的数据的格式为:{total:'',rows:[{},{}]} 
 只要包含了总数tatol字段,rows是具体的行数
 例如:
 Asp.Net MVC 例子:

public JsonResult GetAllUserInfos()
        {
            int pageSize = 5;
            int pageIndex = 1;
            int.TryParse(this.Request["page"], out pageIndex);
            int.TryParse(this.Request["rows"], out pageSize);

            pageSize = pageSize <= 0 ? 5 : pageSize;
            pageIndex = pageIndex < 1 ? 1 : pageIndex;

            var temp = db.UserInfo
                .OrderBy(u=>u.Sort)
                .Skip<UserInfo>((pageIndex-1)*pageSize)
                .Take<UserInfo>(pageSize)
                .ToList<UserInfo>();
            Hashtable ht = new Hashtable();
            ht["total"] = db.UserInfo.Count();
            ht["rows"] = temp;
            return Json(ht);
        }
		
	Asp.Net WebForm 例子:
	    public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            var strWebName = context.Request["WebName"] ?? string.Empty;
            var  GoodsNo = context.Request["GoodsNo"] ?? string.Empty;
            int categoryId = 0;

            int pageIndex = 1;
            int pageSize = 10;

            int.TryParse(context.Request["rows"], out pageSize);
            int.TryParse(context.Request["page"], out pageIndex);

            decimal priceLeft = 0;
            decimal priceRight = 1000000;
            int goodsStatus = 0;
            decimal.TryParse(context.Request["PriceLeft"], out priceLeft);
            decimal.TryParse(context.Request["PriceRight"], out priceRight);
            int.TryParse(context.Request["CategoryId"], out categoryId);
            int.TryParse(context.Request["GoodsStatus"], out goodsStatus);
            var goodsQueryParamter = new GoodsQueryParamter();
            
           
            goodsQueryParamter.GoodsStatus = (Model.GoodsModel.GoodsStatusEnum)goodsStatus;

            var ds = goodsService.GetGoodsList(goodsQueryParamter);
            string json = string.Empty;           

            if (ds != null && ds.Tables.Count > 0)
            {
                System.Text.StringBuilder rowJson = new System.Text.StringBuilder();
                int colLen = ds.Tables[0].Columns.Count;
                DataColumnCollection col = ds.Tables[0].Columns;
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    System.Text.StringBuilder colJson = new System.Text.StringBuilder();
                    rowJson.Append("{");
                    for (int i = 0; i < colLen; i++)
                    {
                        colJson.Append("\"" + col[i].ColumnName + "\":\"" + row[i].ToString() + "\",");
                    }
                    rowJson.Append(colJson.ToString().TrimEnd(','));
                    rowJson.Append("},");
                }
                json = "{\"total\":" + ds.Tables[0].Rows[0]["sumGoods"] + ",\"rows\":[" + rowJson.ToString().TrimEnd(',') + "]}";
            }
            context.Response.Write(json);
        }
	


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值