我有一个通用的php例程,可以从不同的mySQL查询生成xml结果。 xml的实际结构将根据使用的查询而有所不同。 (实际上,列数会有所不同。)
我刚刚开始探索使用jqGrid,我想编写一个通用的显示例程,我在我的php脚本中执行ajax调用以获取相关的xml,然后,基于xml我回来了,为jqGrid动态创建 colModel (即列数,列名等)。
这是可能的,如果是的话,我该如何处理呢?
答案 0 :(得分:1)
您可以通过单独的AJAX请求来检索动态列来完成此操作。获得该数据后,您需要动态生成colmodel和colnames选项,并使用它们创建jqGrid。此时,只要URL结果集保证包含所有动态列,您就可以向其传递URL以从中检索数据。
这有帮助吗?
答案 1 :(得分:1)
假设您的列已映射到JSON对象的属性/属性, 是的,只需一次调用服务器就可以做到这一点。但你必须:
伪代码如下所示:
// row - the JSON object whose data represent a row
var colNames = new Array();
var colModel = new Array();
for ( var i in row ) {
colNames.push(i);
colModel.push( { name: i, index: i, width: 60, sorttype: sorttype, formatter: formatter, formatoptions: formatoptions, align: align} );
}
$('#grid').jqGrid({
datatype : 'local',
colNames: colNames,
colModel: colModel
...
});
答案 2 :(得分:0)
您可以合并列模型并将其与数据一起添加,并使用一个请求来获取所有内容,可能是使用ajax和json在页面中使用多个类似的jqGrids。