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


    本文转载: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不会显示数据的。

  • 相关阅读:
    逆序对
    归并排序
    快速排序
    利用WPF InkCanvas水墨控件圈选移动笔画
    Vue使用websocket进行心跳连接
    socket + vue + canvas实践,你画我猜(一)
    Vue+WebSocket+ES6+Canvas 制作【你画我猜】小游戏
    HTML5 canvas实现画板功能
    Canvas手工作图并实时同步复现(利用websocket)
    什么是SoC?
  • 原文地址:https://www.cnblogs.com/51net/p/3948236.html
Copyright © 2020-2023  润新知