zoukankan      html  css  js  c++  java
  • Datatable/Dataset 转 JSON方法

    当数据库表的数据在一般处理程序中查出来需要将这个表数据返回到前台的jquery中,需要将数据拼成json字符串形式,
    这里是将数据库数据查出放在Datatable中,然后在一般处理程序中将datatable转成json的几个方法,根据不同的情况调用不同的方法(Dataset集合中的数据也可以遍历每一个索引上的datatable调用此方法)。


    using
    System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Text; /// <summary> ///DataHelper 的摘要说明 /// </summary> public class DataHelper { public DataHelper() { // //TODO: 在此处添加构造函数逻辑 // } #region DataTable转Json /// <summary> /// DataTable转Json for DataGrid /// </summary> /// <param name="_dt"></param> /// <returns></returns> public static string ToDataGrid(DataTable _dt) { string GridJson = string.Empty; try { GridJson = "{"total":" + _dt.Rows.Count + ","rows":["; for (int i = 0; i < _dt.Rows.Count; i++) { GridJson += "{"; string strTemp = ""; for (int j = 0; j < _dt.Columns.Count; j++) { strTemp = (j == _dt.Columns.Count - 1 ? "" : ","); GridJson += """ + _dt.Columns[j].ColumnName.ToString() + "":"" + _dt.Rows[i][j].ToString().Trim() + """ + strTemp; } strTemp = (i == _dt.Rows.Count - 1 ? "}" : "},"); GridJson += strTemp; } GridJson += "]}"; // Rev_DBPublic.Rev_WriteLog.WriteLog("PubErrorLogPath", "ToDataGrid" + "123", GridJson); } catch (Exception ee) { Rev_DBPublic.Rev_WriteLog.WriteLog("PubErrorLogPath", "ToDataGrid" + "123", GridJson + "Err:" + ee.Message); } return GridJson; } #endregion /// <summary> /// 将Datatable 中得数据行进行分页,并将页内数据返回 /// </summary> /// <param name="dt"></param> /// <param name="pageSize">行数</param> /// <param name="pageIndex">第几页</param> /// <returns></returns> public static DataTable DataTableToPager(DataTable dt, int pageSize, int pageIndex) { if (dt == null || dt.Rows.Count == 0) { return dt; } DataTable returnValue = null; DataColumn dc = new DataColumn("rowindex", Type.GetType("System.Int32")); dt.Columns.Add(dc); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["rowindex"] = i; } int _start = (pageIndex - 1) * pageSize; int _end = _start + pageSize; DataView dv = dt.DefaultView; dv.RowFilter = string.Format("rowindex>={0} and rowindex<{1}", _start, _end); returnValue = dv.ToTable(); return returnValue; } #region DataTable转Json /// <summary> /// DataTable转Json for DataGrid /// </summary> /// <param name="_dt"></param> /// <returns></returns> public static string ToDataGridPage(DataTable _dt, int _row) { string GridJson = "{"total":" + _row + ","rows":["; for (int i = 0; i < _dt.Rows.Count; i++) { GridJson += "{"; string strTemp = ""; for (int j = 0; j < _dt.Columns.Count; j++) { strTemp = (j == _dt.Columns.Count - 1 ? "" : ","); GridJson += """ + _dt.Columns[j].ColumnName.ToString() + "":"" + _dt.Rows[i][j].ToString() + """ + strTemp; } strTemp = (i == _dt.Rows.Count - 1 ? "}" : "},"); GridJson += strTemp; } GridJson += "]}"; // Rev_DBPublic.Rev_WriteLog.WriteLog("PubErrorLogPath", "ToDataGrid" + "123", GridJson); return GridJson; } #endregion #region DataTable转Json /// <summary> /// DataTable转Json for DataGrid /// </summary> /// <param name="_dt"></param> /// <returns></returns> public static string ToDataGridPage(DataTable _dt, int _row, int page, int records) { string GridJson = "{"page":" + page + ","total":" + _row + ","records":" + records + ","rows":["; for (int i = 0; i < _dt.Rows.Count; i++) { GridJson += "{"; string strTemp = ""; for (int j = 0; j < _dt.Columns.Count; j++) { strTemp = (j == _dt.Columns.Count - 1 ? "" : ","); GridJson += """ + _dt.Columns[j].ColumnName.ToString() + "":"" + _dt.Rows[i][j].ToString() + """ + strTemp; } strTemp = (i == _dt.Rows.Count - 1 ? "}" : "},"); GridJson += strTemp; } GridJson += "]}"; // Rev_DBPublic.Rev_WriteLog.WriteLog("PubErrorLogPath", "ToDataGrid" + "123", GridJson); return GridJson; } #endregion #region dataTable转换成Json格式 /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("["); 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); if (dt.Rows.Count > 0) { jsonBuilder.Append("]"); } return jsonBuilder.ToString(); } #endregion dataTable转换成Json格式 }

     

  • 相关阅读:
    045_List view button
    044_Schedule Job 间隔时间自动执行
    043_关于Salesforce集中权限的解释
    041_Record Type
    040_Field Set
    039_External Data Source(转载)
    037_Clone Button
    036_在salesforce中更换自定义app的logo
    020_Json的使用
    033_SFDC-Apex案例整理-未完
  • 原文地址:https://www.cnblogs.com/zyg316/p/5974167.html
Copyright © 2011-2022 走看看