Как связать jqGrid динамично?. Столбцы не доступны во время проектирования, но только будут доступны только во времени выполнения.
В текущем дизайне jqGrid должны быть предварительно заполнены colmodels и другие свойства, чтобы сетка работала правильно.
Любой вход в этом направлении значительно ценится.
Попробуйте это в document.ready:
$.ajax(
{
type: "POST",
url: "SomeUrl/GetColumnsAndData",
data: "",
dataType: "json",
success: function(result)
{
colD = result.colData;
colN = result.colNames;
colM = result.colModel;
jQuery("#list").jqGrid({
jsonReader : {
cell: "",
id: "0"
},
url: 'SomeUrl/Getdata',
datatype: 'jsonstring',
mtype: 'POST',
datastr : colD,
colNames:colN,
colModel :colM,
pager: jQuery('#pager'),
rowNum: 5,
rowList: [5, 10, 20, 50],
viewrecords: true
})
},
error: function(x, e)
{
alert(x.readyState + " "+ x.status +" "+ e.msg);
}
});
setTimeout(function() {$("#list").jqGrid('setGridParam',{datatype:'json'}); },50);
эта работа мне подходит.
Реально ли заново создавать сетку каждый раз, когда добавляется столбец? Вы можете хранить данные локально и просто выгружать/восстанавливать сетку каждый раз, используя динамическую модель столбцов.
Возможно, вы также захотите посмотреть на некоторые демо-версии, которые показывают/скрывают столбцы динамически. В зависимости от того, сколько у вас столбцов, вы можете использовать ту же концепцию в своем приложении.
Помогло ли это?
.