• datatable转layui表格【偏原理】


    如题
    这个类负责把datatable转换为layui表格可以显示的内容。
    适合配合表格url字段的webapi服务端,为其返回响应字符串。
    代码如下:
    using System;
    using System.Web;
    using System.Text;
    using System.Data;
    using System.Net.Http;

    namespace MyClass
    {
    public class Layui_helper
    {
    static string datatable2json(DataTable table)
    {
    StringBuilder jsonBuilder = new StringBuilder();
    jsonBuilder.Append(""data":[");
    for (int i = 0; i < table.Rows.Count; i++)
    {
    jsonBuilder.Append("{");
    for (int j = 0; j < table.Columns.Count; j++)
    {
    jsonBuilder.Append(""");
    jsonBuilder.Append(table.Columns[j].ColumnName);
    jsonBuilder.Append("":"");
    jsonBuilder.Append(table.Rows[i][j].ToString());
    jsonBuilder.Append("",");
    }
    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
    jsonBuilder.Append("},");
    }
    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
    jsonBuilder.Append("]");
    return jsonBuilder.ToString();
    }
    //送入一个datatable,返回一个layui支持的表格字符串(HttpResponseMessage格式)
    public static HttpResponseMessage get_Layui_table(DataTable dt,int count=0,int status=0)
    {
    StringBuilder s = new StringBuilder();
    HttpResponseMessage responseMessage;
    if(count==0)
    {
    count = dt.Rows.Count;
    }
    s.Append("{"code":");
    s.Append(status.ToString() + ",");
    s.Append(""count":");
    s.Append(count.ToString() + ",");
    s.Append(datatable2json(dt));
    s.Append("}");
    responseMessage = new HttpResponseMessage { Content = new StringContent(s.ToString(), Encoding.GetEncoding("UTF-8"), "text/plain") };
    return responseMessage;
    }
    }
    }
    //对应前台页面格式开始
    /*
    <table id="demo" lay-filter="test"></table>
    <script src="~/layui/layui.js"></script>
    <script>
    layui.use('table', function () {
    var table = layui.table;

    table.render({
    elem: '#demo'
    , height: 512
    , 600
    //, data:[{ "id": "1", "姓名": "山本0", "年龄": "15" }, { "id": "2", "姓名": "山本1", "年龄": "16" }]
    , url: '/api/data/' //数据接口,默认会自动传递两个参数:?page=1&limit=30(初始值对应下面的limit和curr)
    , cols: [[ //表头
    { field: 'id', title: 'ID', 80, fixed: 'left' }
    , { field: '姓名', title: '名字', 80 }
    , { field: '年龄', title: '年纪', 80}
    ]]
    //, limit: 5//设定初始每页记录条数
    , page: {
    layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
    , limits: [15, 23, 36]//选择每页显示几条,返回或直接设置用
    , groups: 4 //连续出现的页码个数,设置用
    , first: false //导航中不显示首页
    , last: false //导航中不显示尾页
    //, curr: 5 //设定初始在第 5 页
    }
    });

    });
    </script>
    */
    //对应前台页面格式结束

  • 相关阅读:
    刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】
    ElasticSearch 内存那点事【转】
    Zookeeper之Zookeeper的Client的分析【转】
    Zookeeper之Zookeeper底层客户端架构实现原理(转载)
    elasticsearch 性能调优
    ElasticSearch性能优化策略【转】
    elasticsearch中 refresh 和flush区别【转】
    我理解的朴素贝叶斯模型【转】
    (转)Intellij IDEA 快捷键整理
    使用Mongo dump 将数据导入到hive
  • 原文地址:https://www.cnblogs.com/wanjinliu/p/11856541.html
Copyright © 2020-2023  润新知