如题
这个类负责把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
, width: 600
//, data:[{ "id": "1", "姓名": "山本0", "年龄": "15" }, { "id": "2", "姓名": "山本1", "年龄": "16" }]
, url: '/api/data/' //数据接口,默认会自动传递两个参数:?page=1&limit=30(初始值对应下面的limit和curr)
, cols: [[ //表头
{ field: 'id', title: 'ID', width: 80, fixed: 'left' }
, { field: '姓名', title: '名字', width: 80 }
, { field: '年龄', title: '年纪', width: 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>
*/
//对应前台页面格式结束

datatable转layui表格【偏原理】的更多相关文章

  1. datatable转layui表格v2[分页and带模板]【偏实例】

    本项目由普通mvc+webapi接口构成.按执行顺序,代码如下:主控制器:public ActionResult Index(int id=0) { ViewData["myid" ...

  2. layui 表格在排序之后没有重新渲染问题

    问题描述: 在layui表格中,最后一列增加了操作按钮,并且在某些行设置了样式,但是在排序之后,按钮的点击事件失效了,样式也没有了,可能是没有执行done回调 原因: done回调只有在render和 ...

  3. 在Bootstrap开发框架中使用dataTable直接录入表格行数据(2)--- 控件数据源绑定

    在前面随笔<在Bootstrap开发框架中使用dataTable直接录入表格行数据>中介绍了在Web页面中使用Jquery DataTable插件进行对数据直接录入操作,这种处理能够给用户 ...

  4. 在Bootstrap开发框架中使用dataTable直接录入表格行数据

    在Winform开发的时候,我们很多时候可以利用表格控件来直接录入数据,不过在Web上较少看到,其实也可以利用dataTable对象处理直接录入表格行数据,这个可以提高数据的录入方便,特别是在一些简单 ...

  5. Layui表格编辑【不依赖Layui的动态table加载】

    依赖jquer,layui/css <td class="My_edit"></td> Jquery代码 //-----[Layui表格编辑(<td ...

  6. layui 表格设置td的宽度

    layui 表格设置td的宽度, td{ min-width: 150px; max-width: 200px; } 超出长度隐藏 overflow: hidden; text-overflow: e ...

  7. layui表格参数

    layui表格对数据进行用table样式展现 举个例子: <!doctype html> <html> <head> <meta charset=" ...

  8. 设置layui表格cell的内边距

    /*设置layui表格cell的内边距*/ .layui-table-cell { height: 50px !important; line-height: 50px !important; }

  9. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

随机推荐

  1. C# 上传本地视频到七牛云服务器

    第一步添加DLL引用 Install-Package Newtonsoft.Json Install-Package Qiniu #region 七牛云视频上传 /// <summary> ...

  2. [TCP/IP] 三次握手过程中有哪些不安全性

    1)SYN flood 泛洪攻击 , 伪装的IP向服务器发送一个SYN请求建立连接,然后服务器向该IP回复SYN和ACK,但是找不到该IP对应的主机,当超时时服务器收不到ACK会重复发送.当大量的攻击 ...

  3. Visual Studio的UTF-8问题

    参考:https://www.jianshu.com/p/c51cbb2f20e1 一.在“工具”菜单找到“自定义”,然后按照图示操作. 二.选择“编码”.

  4. 解决txt乱码:将windows新建txt转换成utf-8格式

    场景:产品将版本发布说明发给配置管理员(我自己),我使用jenkins建的任务自动传这个版本发布说明文件(release_note.txt)到ftp以后,打开文件后发现乱码. 调试: 但是将文件另存为 ...

  5. 无法解析的外部符号 "void __cdecl cv::imshow

    解决方法: 把编译环境放到其他没有报错的项目上,编译通过.

  6. day24_7.30 反射与元类

    一.反射 在python中,反射通常是指一个对象应该具备,可以检测修复,增加自身属性的能力. 而反射可以通过字符串对其进行操作. 其中涉及了4个函数,是四个普通 的函数: hasattr(oop,st ...

  7. centos7编译安装php 遇到的问题

    centos7 编辑安装php遇到的问题: ./configure 配置遇到的No package 'libxml-2.0' found缺失libxml2.0 库,解决方法: yum -y insta ...

  8. MySQL实战45讲学习笔记:第八讲

    一.今日内容概要 我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,事 ...

  9. 推荐一款移动端小视频App声咖视频

    推荐一款移动端小视频App声咖视频 1 介绍 声咖app,这款软件是一款声音交友社交软件,在上面你可以轻松互动,找到你的知心朋友,并且可以自由添加好友,与其他人互动,让交友更加轻松!, 2 特色功能介 ...

  10. GNU Wget 1.14 用法

    GNU Wget 1.14,非交互式的网络文件下载工具.用法: wget [选项]... [URL]... 长选项所必须的参数在使用短选项时也是必须的. 启动:  -V,  --version     ...