您的位置:首页 > 编程语言 > ASP

asp.net MVC 将 DataTable转化为客户端的JSon字符串及Ext JSon对象

2011-05-08 10:52 615 查看
1、转化为JQueryJSon

public static ArrayList GetJSonArrayList(DataTable _dt)
{
ArrayList m_R = new ArrayList();
foreach (DataRow m_Row in _dt.Rows)
{
Dictionary<string, object> m_Di = new Dictionary<string, object>();
foreach (DataColumn m_Col in _dt.Columns)
m_Di.Add(m_Col.ColumnName, m_Row[m_Col]);
m_R.Add(m_Di);
}
return m_R;
}

public JsonResult GetJSon()
{

DataTable m_T = //DataTable对象
return Json(GetJSonArrayList(m_T), JsonRequestBehavior.AllowGet);
}

2、ExtJSon

public static object GetExtJSonArrayList(DataTable _dt)
{
ArrayList m_R_Data = new ArrayList();
foreach (DataRow m_Row in _dt.Rows)
{
Dictionary<string, object> m_Di = new Dictionary<string, object>();
foreach (DataColumn m_Col in _dt.Columns)
m_Di.Add(m_Col.ColumnName, m_Row[m_Col]);
m_R_Data.Add(m_Di);
}
return new { totalCount = _dt.Rows.Count, data = m_R_Data };
}

客户端调用:

var MygridStore = new Ext.data.Store({
url: "../Home/GetBillManagerData",
reader: new Ext.data.JsonReader({
root: 'data',
idProperty: _FIdProperty
}, BillMRecord),
remoteSort: true,
autoDestroy: true,
autoLoad: false,
method: 'get',
storeId: 'MygridStore' + _typeStr,
scope: this
});
MygridStore.on("loadexception", function (obj, options, response, e) {
var _msgstr = response.responseText;
if (_msgstr.indexOf('"success":"false"') >= 0) {
var _JsonObj = Ext.decode(_msgstr);
_msgstr = _JsonObj.error;
}
Ext.Msg.alert('异常', _msgstr);
});

public JsonResult GetJSon()
{

DataTable m_T = //DataTable对象

return Json(PublicController.GetExtJSonArrayList(m_T), JsonRequestBehavior.AllowGet);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐