本文转载: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#中怎么删除一个非空目录

    System.IO.Directory.Delete(@"C:\abc\",true)

  2. C++引用的实质

    转自探索c++的底层机制 在看这篇文章之前,请你先要明白一点:那就是c++为我们所提供的各种存取控制仅仅是在编译阶段给我们的限制,也就是说是编译器确保了你在完成任务之前的正确行为,如果你的行为不正确, ...

  3. ubuntu下firefox安装Adobe Flash Player

    转自ubuntu系统自带的火狐(firefox)如何安装Adobe Flash 当你刚装完系统,发现打开某些网站时,提示你"需要安装flash",然后你点击确定,过了一会,提示你安 ...

  4. 1842-A. Broj

    #include <iostream> using namespace std; int main() { int n; cin>>n; if(n>0&& ...

  5. 实现SELECT的全选,反选,AB选的JAVASCRIPT代码

    参考网上,用原生JS粗糙实现. 我发现用UIKIT的BUTTON会自动刷新我那核心的模态窗口,只好用另外的LABEL或CODE标签了. $(".btn-select-all").c ...

  6. CF192div2-C - Purification

    题意: 从给定的图中找出某些点,这些点能够消除同一行和同一列的“怪物”.求使得最少的点的位置. 关键:要想消除整张的图的妖怪,必须选中n个点(对于n行n列来说)!!!!!!!!!!! 做法:对于每一行 ...

  7. 【HDOJ】2054 A == B ?

    这道题目起初看,so easy.再看一下ac率,注意到没有说明变量类型.显然是一道字符串的题.需要考虑+/-符号位,+.1.-.1.00010.0.+0.-00.00等情况,同时数组开到100000以 ...

  8. hdu4678Mine

    http://acm.hdu.edu.cn/showproblem.php?pid=4678 之前写了一并差集找连通块 貌似不对 比赛时写的dfs爆栈了 只好用bfs了 单独数字块  为1 空白+数字 ...

  9. BZOJ_1008_[HNOI2008]_越狱_(简单组合数学+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1008 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰 ...

  10. memcached SASL验证状态安全绕过漏洞

    漏洞版本: memcached 1.x 漏洞描述: Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. Memcached在处理链接的SASL验证状态时存在错 ...