您的位置:首页 > 数据库

将数据库中大量数据以JSON格式传给JQGrid MVC4+JQGrid

2015-10-22 21:10 381 查看
目的:将数据库中大量数据传递给JQGrid显示在界面
技术:MVC4+JQGrid
步骤:1、创建model,读取数据库中的数据到DataSet,遍历每一行的数据并赋值给model中的实体对象,添加到List
           2、将list数据转换为JSON数据,使用Jquer传递给JQGrid
实现过程:
       将数据添加到list:
                       
List<demoObject> demo = new List<demoObject>();
public string getAllInfo()
{
DataSet ds = DBhelper.getJsonInfo();
DataTable dt = ds.Tables["Base_Module"];
foreach (DataRow row in dt.Rows)
{
demo.Add(new demoObject(){ModuleId=row["ModuleId"].ToString(),ParentId=row["ParentId"].ToString(),Categroy=row["Category"].ToString(),Code=row["Code"].ToString(),FullName=row["FullName"].ToString(),Icon=row["Icon"].ToString(),Location=row["Location"].ToString(),Target=row["Target"].ToString(),Level=(int)row["Level"],Isexpand=(int)row["Isexpand"],AllowButton=(int)row["AllowButton"],AllowView=(int)row["AllowView"],AllowForm=(int)row["AllowForm"],Authority=(int)row["Authority"],DataScope=(int)row["DataScope"],Remark=row["Remark"].ToString(),Enabled=(int)row["Enabled"],SortCode=(int)row["SortCode"],DeleteMark=(int)row["DeleteMark"],CreateDate=row["CreateDate"].ToString(),CreateUserId=row["CreateUserId"].ToString(),CreateUserName=row["CreateUserName"].ToString(),ModifyDate=row["ModifyDate"].ToString(),ModifyUserId=row["ModifyUserId"].ToString(),ModifyUserName=row["ModifyUserName"].ToString()});
}
string json = ToJsJson(demo);
return json;
}
//将list转化为json数据的主要方法编辑以下方法之前需要添加引用
//System.Runtime.Serialization;先添加右键引用
//System.IO
public static string ToJsJson(object item)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, item);
StringBuilder sb = new StringBuilder();
sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
return sb.ToString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息