DataTable转Json(兼容easyUI特殊json分页)
2015-07-30 21:26
429 查看
用法:上述方法是DataTable的扩展方法:静态类静态方法,变量前用this
(一)ps:普通datatable转标准json
DataTable dt = 获取db中的datatable数据。 string jsonStr = dt.DtToJson();//即可转标准json
(二)ps:普通datatable转标准json:使用与easyui分页标准
DataTable dt = TestManager.getData("CartLotteryCartPrizeSon", "Id", page, rows, whereStr, "", out totalRows, out totalPages);//通过分页存储过程获取的DataTable(返回总行数和总页数供easyui分页用) string jsonStr = dt.DtToJson(totalRows);//即可得到easyui标准的可分页的数据,直接供easyui用
(一)ps:普通datatable转标准json
DataTable dt = 获取db中的datatable数据。 string jsonStr = dt.DtToJson();//即可转标准json
(二)ps:普通datatable转标准json:使用与easyui分页标准
DataTable dt = TestManager.getData("CartLotteryCartPrizeSon", "Id", page, rows, whereStr, "", out totalRows, out totalPages);//通过分页存储过程获取的DataTable(返回总行数和总页数供easyui分页用) string jsonStr = dt.DtToJson(totalRows);//即可得到easyui标准的可分页的数据,直接供easyui用
private static readonly System.Web.Script.Serialization.JavaScriptSerializer Serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); /// <summary> /// DataTabel转标准json(兼用easyui的json标准):DataTable对象的扩展方法 /// </summary> /// <param name="dt">非参数,DataTable的扩展方法</param> /// <param name="total">可选:转普通json传>0的值或忽略此参数;如果针对easyui的json一定要把total参数分页的总行数传进来</param> /// <returns>标准json</returns> public static string DtToJson(this DataTable dt, int total) { Serializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 System.Collections.ArrayList arrayList = new System.Collections.ArrayList(); foreach (DataRow dataRow in dt.Rows) { try { Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合 foreach (DataColumn dataColumn in dt.Columns) { dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString()); } arrayList.Add(dictionary); //ArrayList集合中添加键值 } catch (Exception ex) { } } if (total > 0)//easyUI专用,分页的总行数 { var dictionary = new Dictionary<string, object>(); dictionary.Add("total", total);//此参数是easyUI专用 dictionary.Add("rows", arrayList);//此参数是easyUI专用 return Serializer.Serialize(dictionary); } else { return Serializer.Serialize(arrayList); } //返回一个json字符串 }
相关文章推荐
- 如何实现EditPlus、UE等工具的列选择,并且将选择的列复制到word中的表格
- 如何实现EditPlus、UE等工具的列选择,并且将选择的列复制到word中的表格
- IOS第五天(2:用户登录,回车的监听(代理模式UITextFieldDelegate)) 和关闭键盘
- sgu 455. Sequence analysis (floyd 判圈算法,O(1)空间复杂度求循环节)
- 读书笔记-APUE第三版-(9)进程关系
- (easy)LeetCode 232.Implement Queue using Stacks
- iOS 动画UIViewAnimationOptions类型
- iOS -UI汤姆猫实现(UIImageView)自己写的汤姆猫,所学知识有限,代码还有待改进 ==
- iOS阶段学习第29天笔记(UITextField的介绍)
- UIButton
- IOS--UI--LessonThread 线程
- UIView
- UIScrollView
- wfp数据类型转换--Uint16转二进制字符串
- UI01_UILabel(加粗,文字是否高亮,文字是否可变,文字是否自适应label宽度)
- Visual GDB 工程 使用ndk-build命令失败的解决方法
- Snail—UI学习之表视图TableView单行添加、删除和移动
- (easy)LeetCode 225.Implement Stack using Queues
- Snail—UI学习之表视图TableView初识
- Spark SQL and DataFrame Guide(1.4.1)——之Data Sources