jqGrid没有初始化。这是正确的方法吗?

时间:2013-04-11 15:02:02

标签: jquery asp.net jqgrid

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

Grid中显示的数据来自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>

你看到我可能错过的东西吗? 提前谢谢。

更新

版本: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。我将DataSets解析为jsonstring,但是如果为了使网格工作,我需要构建JSON objets而不是字符串我可以做到这一点。但据我所知,我不能让网格工作。 再次感谢。

更新2。

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

1 个答案:

答案 0 :(得分:0)

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

数据也没有像jqGrid所期望的那样格式化。您需要修复格式或编写自定义jsonReader(或localReader)函数。查看docs on retrieving data了解详情。