我正在使用jQuery网格插件jqGrid来显示数据数组。
我想要达到的目标是什么 1.默认情况下,该网格为空。 2.当用户点击搜索按钮时,它将使用AJAX加载数据 3.数据将加载到网格中。
从附件中,我有这个错误
如何解决?有样品吗?
由于
<h2>Search</h2>
<form id="project_search_form">
<table class="grid">
...
<tr>
<td><a class="form_button" onclick="searchProject();" href="#">search</a></td>
</tr>
</table>
</form>
<table id="projectList"></table>
<div id="projectPager"></div>
<script type="text/javascript">
$(document).ready(function(){
jQuery("#projectList").jqGrid({
url:'server.php?q=2',
datatype: "json",
colNames:['ID','Name'],
colModel:[ {name:'projectId',index:'id', width:55} , {name:'name',index:'name', width:55}],
rowNum:10,
rowList:[10,20,30],
pager: '#pager5',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Simple data manipulation",
editurl:"someurl.php" }).navGrid("#projectPager",{edit:false,add:false,del:false});
});
function searchProject(){
var param = $('#project_search_form').serialize();
BaseAjaxUtil.object_search(param,
{
callback:function(data){
var jsongridRows = eval("("+data+")");
for(var i = 0; i < jsongridRows.length; i++) {
var datarow = jsongridRows[i];
var su=jQuery("#projectList").jqGrid('addRowData',i+1, datarow);
// if(su) alert("Succes. Write custom code to add data in server"); else alert("Can not update");
}
},
errorHandler:function(errorString) { alert("error:"+errorString); }
}
);
}
</script>
答案 0 :(得分:0)
您可以使用autowidth: true
选项来控制宽度。来自jqGrid docs:
设置为true时,网格宽度会自动重新计算为父元素的宽度。这仅在最初创建网格时完成。为了在父元素更改宽度时调整网格大小,您应该应用自定义代码并使用setGridWidth方法来实现此目的
然后你只需要确保你的父元素具有适当的宽度。