Это не таблица в формате HTML, но я использую jqGrid вместе с helper functions от Craig Stuntz, чтобы «экспортировать» любые IQueryable<T>
в качестве JSON. Вспомогательная функция ToJqGridData
посылает JSON в точно требуемом формате с помощью jqGrid, так что ваш код красиво и аккуратно:
MyObjectRepository rep = new MyObjectRepository();
var myObjects = from o in rep.SelectAll()
select new
{
Prop1 = o.Prop1,
Prop2 = o.Prop2
...
}
return Json(apps.ToJqGridData(page, rows, sidx, null, null), JsonRequestBehavior.AllowGet);
Имейте в виду, вам также необходимо обновить глобальные параметры для ваших jqGrids, чтобы сделать их совместимыми с соглашения об именах, используемых ToJqGridData
(я просто включить этот сценарий в моей главной странице):
$(document).ready(function() {
GridDemo.SiteMaster.setDefaults();
});
var GridDemo = {
Home: {
GridDemo: {}
},
SiteMaster: {
setDefaults: function() {
$.jgrid.defaults = $.extend($.jgrid.defaults, {
datatype: 'json',
height: 'auto',
imgpath: '/Scripts/jqGrid/themes/lightness/images',
jsonReader: {
root: "Rows",
page: "Page",
total: "Total",
records: "Records",
repeatitems: false,
userdata: "UserData",
id: "Id"
},
loadui: "block",
mtype: 'GET',
multiboxonly: true,
rowNum: 20,
rowList: [10, 20, 50],
viewrecords: true
});
}
}
};
Спасибо Захари, это отличная работа! – DaveDev