开发者社区> 阿笨net> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

把DataTable 转换成Json格式,适用于EasyUI 绑定DataGrid

简介: 本文转载:http://www.cnblogs.com/liang--liang/archive/2013/02/05/2893030.html public static string DataTable2Json(System.
+关注继续查看

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

public static string DataTable2Json(System.Data.DataTable dt)
        {
            System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
            jsonBuilder.Append("{");
            jsonBuilder.AppendFormat("\"total\":{0}, ", dt.Rows.Count);
            jsonBuilder.Append("\"rows\":[ ");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append("\"");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append("\":\"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            jsonBuilder.Append("}");
            return jsonBuilder.ToString();
        }

  本文学习中使用的:

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

  JsonHelp代码段:

    /// <summary>
    /// Json数据转换封装
    /// </summary>
    public static class JsonHelper
    {
        public static String ToJson(object obj)
        {
            return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
        }
   }

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JPA联合主键的使用(@EmbeddedId+@Embeddable)
JPA联合主键的使用(@EmbeddedId+@Embeddable)
131 0
Confluence 6 用户目录图例 - 和 Jira 连接到 Crowd
上面的图:Confluence, JIRA 和其他应用程序连接到 Crowd 作为用户管理。 https://www.cwiki.
879 0
truncate table 和 drop table 的一点坑
网上一搜这个关键字,得到的结果大多都是delete、truncate、drop之间的区别 但是今天我们要讲的内容,是我们在生产环境中遇到的真实案例 互联网公司一般对大表,都会采用分区表或者物理分表吧,这里主要描述的是分表的删除过程中的问题 案例一 环境MySQL5.
3470 0
RxAndroid、RxJava的fromCallable更新数据加载到ListView简例
 RxAndroid、RxJava的fromCallable更新数据加载到ListView简例 Java代码: package zhangphil.
913 0
EasyUI——DataGrid的onClickRow事件
  在做高校云平台系统的评教子系统时,学生端有点击超链接实现跳转并传值到指定界面的功能。超链接实现起来并不复杂,但是考虑到学生操作起来的人性化设计,于是把超链接改为单机该行任意地方都可以达到单击超链接的效果,也就是能跳转到指定界面并传值。
1120 0
+关注
842
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载