0

感谢您花时间帮助我迈出 jqGrid 的第一步。我有一个关于如何处理我需要部署的网格的问题。

要在 Grid 中显示的数据来自 DataSet。我将表格解析为已验证的 Json 字符串。所以,逻辑是使用 datatype: '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>

你看到我可能遗漏的东西了吗?提前致谢。

更新

版本: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

如前所述,为网格提供的数据来自 DataSet。我将数据集解析为 jsonstring,但如果为了使网格工作,我需要构建 JSON 对象而不是字符串,我可以这样做。但据我尝试,我无法使网格正常工作。再次感谢。

更新 2。

经过几次更正后,网格现在已启动。但它是空白的。无法从后面的代码或 js 变量中获取数据。

4

1 回答 1

0

在您的更新中,data不是 JSON 字符串,它只是一个变量。您可能想datatype: local改用。

数据也没有按照 jqGrid 期望的方式格式化。您需要修复格式或编写自定义jsonReader(或localReader)函数。查看有关检索数据的文档以获取详细信息。

于 2013-04-12T15:32:32.913 回答