JQuery EasyUI的datagrid的使用方式总结

来源:互联网 发布:windows安装cassandra 编辑:程序博客网 时间:2024/05/16 13:07

第一步:添加样式和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='#' onclick='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);        }


 

原创粉丝点击