• JQuery EasyUI的datagrid的使用方式总结


    JQuery EasyUI的datagrid的使用方式总结
    第一步:添加样式和js脚本在前台添加展示数据表格的table元素
    例如:
    <div>
    <table id="tt" style=" 700px;" title="标题,可以使用代码进行初始化,也可以使用这种属性的方式" iconcls="icon-edit">
    </table>
    </div>
    注:表格的属性可以在table中设置(Unobtrusive),也可以直接使用js脚本进行控制。建议使用js脚本控制


    属性的定义:
    请参见Jquery easyui API

    第二步:在doucment.ready中初始化表格的属性以及数据获取的方式。
    例如:
    $('#tt').datagrid({
    url: '/UserInfo/GetAllUserInfos',
    title: '演示表格使用',
    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', 50 },
    { field: 'ID', title: '主键', 80 },
    { field: 'UserName', title: '用户名', 120 },
    { field: 'SubTime', title: '提交时间', 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:'商品价格',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);
    }
    

      

  • 相关阅读:
    HTTP代理简介
    解决键盘Alt+Win键功能反了的问题
    设置锁屏后关闭显示器时间
    通过ffmpeg下载在线HTTP Live Stream视频
    一款好用的磁盘占用分析工具——WizTree
    vite2 打包的时候vendorxxx.js文件过大的解决方法
    nfPress —— 在线文档也可以加载组件和编写代码
    通过UI库深入了解Vue的插槽的使用技巧
    基于 vite2 + Vue3 写一个在线帮助文档工具
    【mysql】sql查看mysql 数据库 数据表 容量大小
  • 原文地址:https://www.cnblogs.com/wangguowen27/p/easyui_datagrid.html
Copyright © 2020-2023  润新知