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);
}