jqGrid没有初始化。这是正确的方法吗?
感谢您的时间帮助我使用jqGrid的第一步。我有一个关于如何处理我需要部署的网格的问题。jqGrid没有初始化。这是正确的方法吗?
要显示在网格中的数据来自DataSet。我把表格解析成一个已经过验证的Json字符串。所以,逻辑将是使用数据类型:'jsonstring',但我也读过jsonstring和datastr在分页方面是不是最新的。那么你有什么建议?
在这第一个草图中,jqGrid没有被初始化。空白页。为了缩小错误,我用包含jsonstring的局部变量代替了<%= jsonString%>:相同的结果。
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/south-street/jquery-ui.css" type="text/css" media="all" />
<link href="css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.8.2.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.9.1.custom.min.js" type="text/javascript"></script>
<script src="js/i18n/grid.locale-es.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
$(function() {
$("#Grid").jqGrid({
datatype: 'jsonstring',
datastr: <%=jsonString%>;
mtype: 'POST',
height: 100,
width: 500,
colNames: ['Name', 'LastName', 'Qty', 'Yold', 'Address'],
colModel: [
{ name: 'Name', index: 'PCRC', width: 100, sortable: true },
{ name: 'LastName', width: 100, sortable: true },
{ name: 'Qty', width: 100, sortable: true },
{ name: 'Yold', width: 100, sortable: true },
{ name: 'Address', width: 100, sortable: true }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#GridPager',
sortname: 'Name',
viewrecords: true,
sortorder: 'asc',
caption: 'Test Grid'
});
$("#Grid").jqGrid('navGrid', '#GridPager', { edit: false, add: false, del: false });
});
});
</script>
网格根本不显示。
<table id="Grid" ></table>
<div id="GridPager"></div>
您是否看到我可能错过的东西? 在此先感谢。
UPDATE
版本:jQuery的1.8.2.js 奥列格:没有服务。
这里是我用于变量数据的jsonstring示例。
var data = {"Tables":[{"Rows":[{"Name":"Alex","LastName":"Grey","Qty":3,"Yold":20,"Address":"27 rd"},{"Name":"Sebastian","LastName":"Wallace","Qty":78,"Yold":27,"Address":"33 xx"},{"Name":"Rose","LastName":"Garner","Qty":1,"Yold":33,"Address":"1111 rtd."},{"Name":"Carole","LastName":"Stewart","Qty":45,"Yold":18,"Address":"122 dr."}]}]};
$("#GridCantidadPendientes").jqGrid({
datatype: 'jsonstring',
datastr: data,
//and so on
如前所述,为网格提供的数据来自DataSets。我有DataSets解析为jsonstring,但如果为了使网格工作,我需要建立JSON objets而不是字符串我可以做到这一点。但据我所尝试,我不能让网格工作。 再次感谢。
更新2
几个更正后的网格现在到了。但它是空白的。无法从后面的代码或js变量中获取数据。
在您的更新中,data
不是JSON字符串,它只是一个变量。您可能需要使用datatype: local
。
数据也没有以jqGrid预期的方式格式化。您需要修正格式或编写自定义jsonReader
(或localReader
)函数。有关详细信息,请检查docs on retrieving data。
也许我错过了一些东西,但我已经将'data'的内容粘贴到了一个jsonstring验证器中,并声称它是一个json字符串。使用该变量作为datastr是不够的jqgrid? – 2013-04-12 15:38:48
这是一个变量,而不是一个字符串,所以当Reader尝试使用JSON.parse()时,没有什么好的事情会发生。你可以通过将它换成引号将它转换为JSON,但这不会有助于其他问题没有jqGrid期望的布局。 – RickF 2013-04-12 21:46:49
你使用哪个版本的jqGrid?你写了“解析成已经验证的Json字符串的表”,但是你没有描述输入数据的确切格式。您应该向jqGrid提供有关确切格式结构的提示。如果你只是在你的问题中包含数据的例子,那很好。你有一些服务可以提供每个HTTP/HTTPS的JSON数据吗? – Oleg 2013-04-11 18:18:40
我假设你替换''%= jsonString%>''你摆脱了';'? – Mark 2013-04-12 01:39:34
@Oleg我更新了这个问题,所以你有更多关于我的设置的信息。谢谢 – 2013-04-12 12:19:20