本文转载:http://www.cnblogs.com/liang--liang/archive/2013/02/05/2893030.html

  1. public static string DataTable2Json(System.Data.DataTable dt)
  2. {
  3. System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
  4. jsonBuilder.Append("{");
  5. jsonBuilder.AppendFormat("\"total\":{0}, ", dt.Rows.Count);
  6. jsonBuilder.Append("\"rows\":[ ");
  7. for (int i = 0; i < dt.Rows.Count; i++)
  8. {
  9. jsonBuilder.Append("{");
  10. for (int j = 0; j < dt.Columns.Count; j++)
  11. {
  12. jsonBuilder.Append("\"");
  13. jsonBuilder.Append(dt.Columns[j].ColumnName);
  14. jsonBuilder.Append("\":\"");
  15. jsonBuilder.Append(dt.Rows[i][j].ToString());
  16. jsonBuilder.Append("\",");
  17. }
  18. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  19. jsonBuilder.Append("},");
  20. }
  21. jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
  22. jsonBuilder.Append("]");
  23. jsonBuilder.Append("}");
  24. return jsonBuilder.ToString();
  25. }

  本文学习中使用的:

  1. int pagNum = int.Parse(Request["page"].ToString());
  2. int pageSize = int.Parse(Request["rows"].ToString());
  3. string jsonStr = string.Empty;
  4. UserInfoDataContextDataContext dbContext = new UserInfoDataContextDataContext("server=.;database=NorthWind;uid=sa;pwd=123456");
  5. var userInfoLst = dbContext.UserInfo.Take(pageSize * pagNum).Skip((pagNum - 1) * pageSize).Select(s => s);
  6. jsonStr = JsonHelper.ToJson(userInfoLst);
  7. System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
  8. jsonBuilder.Append("{");
  9. jsonBuilder.AppendFormat("\"total\":{0}, ", dbContext.UserInfo.Count());
  10. jsonBuilder.Append("\"rows\":");
  11. jsonBuilder.AppendFormat("{0}", jsonStr);
  12. jsonBuilder.Append("}");
  13. return Content(jsonBuilder.ToString());

  JsonHelp代码段:

  1. /// <summary>
  2. /// Json数据转换封装
  3. /// </summary>
  4. public static class JsonHelper
  5. {
  6. public static String ToJson(object obj)
  7. {
  8. return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
  9. }
  10. }

  注意返回的Json格式,否则会导致datagrid不会显示数据的。

把DataTable 转换成Json格式,适用于EasyUI 绑定DataGrid的更多相关文章

  1. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

  2. 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)

    public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...

  3. dataTable转换成Json格式

    #region dataTable转换成Json格式 /// <summary> /// /// </summary> /// <param name="dt& ...

  4. 将DataTable转换成Json格式

    方法一: 将DataTable数据拼接成json字符串,方法如下: ///<summary> /// dataTable转换成Json格式 ///</summary> ///& ...

  5. C# DataTable 转换成JSON数据

    原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using S ...

  6. C#将datatable的某一列转换成json格式的字符串

    将datatable的某一列转换成json格式的字符串(转换完后自己在字符串前后加{}) /// <summary> ///DataTable装换 Column数据 组合成json 现在的 ...

  7. DataTable 转换成 Json的3种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

  8. 数据库记录转换成json格式 (2011-03-13 19:48:37) (转)

    http://blog.sina.com.cn/s/blog_621768f30100r6v7.html 数据库记录转换成json格式 (2011-03-13 19:48:37) 转载▼ 标签: 杂谈 ...

  9. C# 将MSMQ消息转换成Json格式 【优化】

    C# 将MSMQ消息转换成Json格式  [优化] 转换函数: private string ConvertToJSON(string label, string body) { //TODO: co ...

随机推荐

  1. [转载]用c写PHP的扩展接口(php5,c++)

    原文[http://bugs.tutorbuddy.com/php5cpp/php5cpp/] 第1节. 开始之前 开始前,我要说明:这篇文章所描述的主要是在UNIX的PHP环境上的. 另外一点我要说 ...

  2. 从ng-repeat到NgFor

    看这篇文章基本明白怎么渲染模板,但是我的工程会报错说#号非法,这篇的写法也不好用. angular2.0.0的语法集: Angular for TypeScript 语法快速指南 (基于2.0.0版本 ...

  3. Javascript与C#相互调用

    javascript调用C#代码 前台js调用后台代码方法,此方法只适用于后台方法的修饰符为public或protected,如果是其他修饰符会报错. >后台C#代码: protected in ...

  4. Uva 12361 File Retrieval 后缀数组+并查集

    题意:有F个单词,1 <= F <=60 , 长度<=10^4, 每次可以输入一个字符串,所有包含该字串的单词会形成一个集合. 问最多能形成多少个不同的集合.集合不能为空. 分析:用 ...

  5. Android ListView(Selector 颜色)

    listview_color.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  6. QVariant实质 (类似 C#中的装箱拆箱)

    QVariant是一种可以存储不同类型的数据结构,在很多场合这是很有用得为了达到这种目的,可以想象,该对象应该存储对象的类型信息,数据信息以及其他辅助详细考虑用途,这种对象必须支持对不同对象的存储,对 ...

  7. exynos4412电路OrCAD问题

    图(1) K4B4G1646B,DDR3 图(2) JIA排针 问题:理论上,引脚命名不能重复,图(1)和图(2)都存在重复的引脚命名,但在进行DRC检查和网表输出时图(1)无任何问题,图(2)却有错 ...

  8. WCF - Overview

    WCF stands for Windows Communication Foundation. The elementary feature of WCF is interoperability. ...

  9. JavaScript功能一览

    // 10) throw "太大"; if(x0) { c_start=document.cookie.indexOf(c_name + "=") if (c_ ...

  10. U制作LFS linux

    我希望自己的LFS运行在U盘上,远期目标是要制作一个基于LFS的编程练习U盘,方便自己的编程练习.今天算是工作的第一步,先把LFS做到U盘上. 把Linux做到U盘上通常的做法是采用两步启动法:先生成 ...