首页 > 代码库 > 把DataTable 转换成Json格式,适用于EasyUI 绑定DataGrid

把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不会显示数据的。

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