Json 如何动态生成jquery jqgrid?
当前的需求是点击按钮,我通过ajax获取json数据,其中包含关于表头和数据的信息。 我想使用jqgrid显示表数据,因此我正在使用以下代码准备jqgrid:Json 如何动态生成jquery jqgrid?,json,jquery,jqgrid,Json,Jquery,Jqgrid,当前的需求是点击按钮,我通过ajax获取json数据,其中包含关于表头和数据的信息。 我想使用jqgrid显示表数据,因此我正在使用以下代码准备jqgrid: $("#fixedId").jqGrid({ datatype: 'clientSide', colNames:colName,//from json response colModel :colModels,//from json response
$("#fixedId").jqGrid({
datatype: 'clientSide',
colNames:colName,//from json response
colModel :colModels,//from json response
pager: '',
shrinkToFit:true,
autowidth:true,
rowNum:10,
rowList:[10,20,30],
emptyrecords: "Empty records",
viewrecords: true,
width: '100%',
height: '100%',
altRows:true,
scrollOffset: 0,
gridview: true,
rownumbers:false,
multiselect:false,
multiboxonly:false,
caption: ''
});
$("#"+tableId).jqGrid('gridResize', { minWidth: 450, minHeight: 200 });
我使用jqgridaddRowData
函数将数据添加到这个新创建的表中
所以事情第一次进展顺利。
现在,当我得到一个新的json响应来通过ajax绘制这个新表的细节时,我必须删除旧表,
所以我试着删除旧表数据
1) $(“#fixedd”).remove()代码>
使用..重新创建表标记
$("#tableParent").append('<table id=fixedId><tr><td /></tr></table>');
重复步骤1生成新表并添加数据。同样的结果。我在屏幕上看不到任何表
3) 我试过了
这个选项是可行的,但在重新绘制3-4次新表格后,我可以看到每个被绘制的表格看起来都有点扭曲,在重新绘制一些表格后,使用表格变得很困难
任何解决方案,如如何删除旧的jqgrid并创建新的/干净的jqgrid以使其工作顺畅?jqgrid创建一些元素(div)并将表包装在这些div中。调用$(“#fixedd”).remove()代码>不会破坏那些额外的元素。
你应该使用
$("#tableParent").children().remove()
这将完全破坏jqGrid,因此您可以创建一个新的jqGrid。
在调用$(“#fixedd”).jqGrid()之前,请确保#tableParent
中没有任何其他元素,否则它也将消失代码>我假设您具有以下结构:
<div id="tableParent">
<table id="fixedId"></table>
</div>
$("#tableParent").children().remove()
<div id="tableParent">
<table id="fixedId"></table>
</div>
$("#tableParent").empty();