Asp.net生成Extjs-Gridpanel数据格式json类
来源:互联网 发布:red hat linux 下载 编辑:程序博客网 时间:2024/06/08 09:25
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
//using System.Web.Script.Serialization;
/// <summary>
/// JSONHelper 的摘要说明
/// </summary>
public class JSONHelper
{
//对应JSON的singleInfo成员
public string singleInfo = string.Empty;
protected string _error = string.Empty;
protected bool _success = true;
protected long _totalCount = 0;
protected System.Collections.ArrayList arrData = new ArrayList();
protected System.Collections.ArrayList arrDataItem = new ArrayList();
public JSONHelper()
{
}
//public static string ToJSON(object obj)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// return serializer.Serialize(obj);
//}
//public static string ToJSON(object obj, int recursionDepth)
//{
// JavaScriptSerializer serializer = new JavaScriptSerializer();
// serializer.RecursionLimit = recursionDepth;
// return serializer.Serialize(obj);
//}
//对应于JSON的success成员
public bool success
{
get
{
return _success;
}
set
{
//如设置为true则清空error
if (success) _error = string.Empty;
_success = value;
}
}
//对应于JSON的error成员
public string error
{
get
{
return _error;
}
set
{
//如设置error,则自动设置success为false
if (value != "") _success = false;
_error = value;
}
}
public long totlalCount
{
get { return _totalCount; }
set { _totalCount = value; }
}
//重置,每次新生成一个json对象时必须执行该方法
public void Reset()
{
_success = true;
_error = string.Empty;
singleInfo = string.Empty;
arrData.Clear();
arrDataItem.Clear();
}
public void AddItem(string name, string value)
{
arrData.Add("/"" + name + "/":" + "/"" + value + "/"");
}
public void ItemOk()
{
arrData.Add("<BR>");
totlalCount++;
}
//序列化JSON对象,得到返回的JSON代码
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("{");
sb.Append("totalCount:" + totlalCount.ToString() + ",");
sb.Append("success:" + _success.ToString().ToLower() + ",");
sb.Append("error:/"" + _error.Replace("/"", "///"") + "/",");
sb.Append("singleInfo:/"" + singleInfo.Replace("/"", "///"") + "/",");
sb.Append("data:[");
int index = 0;
sb.Append("{");
if (arrData.Count <= 0)
{
sb.Append("}]");
}
else
{
foreach (string val in arrData)
{
index++;
if (val != "<BR>")
{
sb.Append(val + ",");
}
else
{
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("},");
if (index < arrData.Count)
{
sb.Append("{");
}
}
}
sb = sb.Replace(",", "", sb.Length - 1, 1);
sb.Append("]");
}
sb.Append("}");
return sb.ToString();
}
}
//============================================调用例子=========================
using System;
using System.Data;
using System.Collections.Generic;
using CHY.Model;
namespace CHY.BLL
{
/// <summary>
/// 业务逻辑类Book 的摘要说明。
/// </summary>
public class Book : CHY.DAL.Book
{
public Book()
{ }
#region 成员方法
/// <summary>
/// 得到book信息分页
/// </summary>
/// <param name="start"></param>
/// <param name="limit"></param>
/// <param name="sort"></param>
/// <param name="dir"></param>
/// <param name="search"></param>
/// <returns></returns>
public string GetbookInfos(int start, int limit, string sort, string dir, string search)
{
string jsons = "";
JSONHelper json = new JSONHelper();
json.success = true;
DataSet ds = GetInfo(start, limit, sort, dir, search);
foreach (DataRow dr in ds.Tables[0].Rows)
{
json.AddItem("ID", dr["id"].ToString());
json.AddItem("BCode", dr["BCode"].ToString());
json.AddItem("BName", dr["BName"].ToString());
json.AddItem("Writer", dr["Writer"].ToString());
json.AddItem("PublishDate", dr["PublishDate"].ToString());
json.AddItem("BigKind", dr["BigKind"].ToString());
json.AddItem("SmallKind", dr["SmallKind"].ToString());
json.AddItem("RegeditDate", dr["RegeditDate"].ToString());
json.ItemOk();
}
json.totlalCount = GetInfoCount(search);
jsons = json.ToString();
return jsons;
}
else int count = int.Parse(CHY.DbHelperSQL.ExecuteScalar(sql).ToString()); throw; return CHY.DbHelperSQL.Query(sql); #endregion 成员方法
/// <summary>
/// 得到总记录数
/// </summary>
/// <returns></returns>
public int GetInfoCount(string search)
{
try
{
string sql = "";
if (search == null)
sql = "select count(*) from Book";
sql = "select count(*) from Book where " + search;
return count;
}
catch (Exception)
{
}
}
/// <summary>
/// 查询角色信息
/// </summary>
/// <param name="start"></param>
/// <param name="limit"></param>
/// <returns></returns>
public DataSet GetInfo(int start, int limit, string sort, string dir, string search)
{
string sql;
if (sort == null)
sort = "ID";
if (dir == null)
dir = "DESC";
if (search == null)
sql = "select top " + limit + " * from book where ID not in(select top " + start + " ID from book order by " + sort + " " + dir + ") order by " + sort + " " + dir;
else
sql = "select top " + limit + " * from book where " + search + " and ID not in(select top " + start + " ID from book where " + search + " order by " + sort + " " + dir + ") order by " + sort + " " + dir;
}
}
}
- Asp.net生成Extjs-Gridpanel数据格式json类
- Asp.net生成Extjs-Tree数据格式的json类
- 与ASP.NET服务器端结合返回JSON数据实现ExtJS GridPanel客户端分页
- Asp.net+Extjs实现对GridPanel分页、行内编辑、增加、删除、弹出新窗体增加、数据验证、编辑指定列、数据格式转换等功能
- asp.net中Jquery解析json数据格式
- ExtJs GridPanel动态生成表单
- Json数据格式基本生成
- Coolite(ExtJS)的GridPanel性能与ASP.net的GridView对比
- Extjs与json数据格式的混合使用
- ExtJS GridPanel
- extjs gridpanel
- ext.net treepanel 与 gridpanel 所获得的数据格式不一样
- ASP.NET+Extjs2.0读取Json数据显示在GridPanel面板上面
- Asp.net/Jquery/JS中各种数据转换为【JSON数据格式】的类!(相当好,转)
- Java类,生成Dojo_Gird表格的json数据格式
- 解析Json数据格式,一键生成实体类对象!
- Asp.Net Ajax 数据格式处理
- JSON数据格式通用类
- 从配置文件的格式扯到GUI和CLI
- C#对象和Json相互转换
- 一篇故事讲述了计算机网络的基本概念:网关,DHCP,IP等
- 地形图分带表
- JSON概念
- Asp.net生成Extjs-Gridpanel数据格式json类
- .NET Framewok 3.5 中 JSON 序列化和反序列化的简单实现
- 重新认识COM的优点
- Ubuntu中修改vim配置文件,更方便于c程序设计
- 基于Visual C++2010 与office2010开发办公自动化(19)- 使用自动化生成Word图表
- 《绿区》
- 使用Filter方式实现用Memcached储存Session
- 背完这444句,你的口语绝对不成问题
- java连接mysql数据库