代码编织梦想

本项目由普通mvc+webapi接口构成。
按执行顺序,代码如下:
主控制器:

public ActionResult Index(int id=0)
{
ViewData["myid"] = id;
return View();
}

前台关键代码(layui):

<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: 500
, url: '/api/data/?id=@ViewData["myid"].ToString()'
, cols: [[
{ field: 'xxx', title:XXX, fixed: 'left', align: 'center' }
, { field: 'xxx', title: 'XXX', width: 200, align: 'center', templet: '<div>[{{d.class_name}}]</div>' }
]]
, page: {
layout: ['first', 'prev', 'page', 'next', 'last']
, limits: [10]
, groups: 6
, first: 'first'
, last: 'last'
, theme:'#FF0000'
}
});
});
</script>

Webapi控制器代码:

public HttpResponseMessage getdata(int id = 0,int page=1,int limit=10)
{
DataTable dt;
int c;
Article myarticles = new Article(id);
dt = myarticles.get_Articles_by_id(page,limit,out c);
return Layui_Helper.get_Layui_table(dt,c);
}

Article类代码:

public class Article {
  int class_id;
  public Article(int a = 0) {
    class_id = a;
  }
  //根据初始化的id,送入分页信息(当前所在页,每页记录条数),获得当前页datatable和总记录条数count
  public DataTable get_Articles_by_id(int page, int limit, out int count) {
    DataTable dt;
    string sql;
    count = 1;
    if (class_id != 0) {
      Hc_db1.set_Para("cid", class_id);
      sql = "SELECT XXX from OOO where TTT=@cid order by b_date desc , ID desc";
      Hc_db1.set_comm(sql);
      dt = Hc_db1.get_datatable();
    }
    else {
      sql = "SELECT XXX from OOO order by b_date desc , ID desc";
      dt = Hc_db.get_datatable(sql);
    }
    //计数,删除分页不需要的行
    count = dt.Rows.Count;
    for (int i = dt.Rows.Count - 1; i >= 0; i--) {
      if (i < (page - 1) * limit || i >= page * limit) {
        dt.Rows.RemoveAt(i);
      }
    }
    return dt;
  }
}

datatable转换为layui格式的类:

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;
  }
}

《kotin 极简教程》第11章 使用kotlin 集成 springboot开发web服务端_禅与计算机程序设计艺术的博客-爱代码爱编程

第11章 使用Kotlin集成SpringBoot开发Web服务端 最新上架!!!《 Kotlin极简教程》 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 http://www.jianshu.com/p/35b487734339 我们在前面第2章 “ 2.3

c#基础教程-c#实例教程,适合初学者_huangwuming714的博客-爱代码爱编程

C#基础教程-c#实例教程,适合初学者。 第一章 C#语言基础 本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言,还需要认真阅读有关C#语言的专著。 1.1 C#语言特点 Microso

java ee实例详解_Java EE企业级编程开发实例详解-爱代码爱编程

第1章 javaee开发基础 9 q5 @! t4 \9 t. }: K# R1 }1.1 javaee6简介 / p* T1 g! F  K3 ^4 j3 |1.1.1学习 javaee的意义 5 s8 A/ A) J/ ]! @$ h1.1.2 javaee6版本介绍- _7 ^2 W! B7 Q; x; j/ _1 l5 K/ p. F

嵌入式sql开发_hang_ai427的博客-爱代码爱编程

        嵌入式sql是将sql语句嵌入到程序设计语言中,被嵌入的程序设计语言,如C、C++,JAVA,称为宿主语言,简称为主语言。 一:嵌入式sql如何转化为可识别的编译程序  二:格式 为了区分sql语句和主语言语句,所有的sql语句都要加上EXEC SQL C: EXEC SQL <SQL语句>;  三:通信控制

腾讯大佬的“百万级”mysql笔记,基础+优化+架构一篇搞定,秋招必看系列!_腾讯tmysql大佬-爱代码爱编程

前言 MySQL不用多说,大家都知道它是目前最为活跃热门的开源数据库,由于成本低,操作简易的特点,所以在互联网企业中被广泛使用,即使是头部的BATJ。由此可见,想要在互联网行业混得风生水起,或者说想要进入BATJ等一线互联网公司,那么熟练掌握MySQL必定是一块必要的敲门砖。 对于MySQL的使用,可能很多刚开始工作的开发人员还是挺陌生的,但要想学