【问题标题】:JQGrid not showing data. Tried hard no successJQGrid 不显示数据。努力了没有成功
【发布时间】:2011-07-04 16:45:40
【问题描述】:

问题是我在网格中看不到任何行。不管我多么努力,但都没有成功。 FireBug 正在显示数据。可能是列的问题?

为什么我看不到数据?

注意:如果我使用数组并将其绑定到 Grid,那么我会看到 Array 数据。本地绑定见底部。

我正在使用最新的 JQGrid js。我认为版本是 4.1.1。今天下载了。

*杰森回应 -------------------*

{"total":1,"page":1,"records":2,"rows":[{"id":1,"cell":["1","account number","First Name"]},{"id":2,"cell":["2","account number1","First Name1"]}]}

*剃刀页面 -----------------------------*

     <table id="list"></table> 
            <div id="pager"></div> 

        <link href="/Content/custom-theme/jquery-ui-1.8.13.custom.css" rel="stylesheet" type="text/css" />
        <link href="/Content/custom-theme/ui.jqgrid.css" rel="stylesheet" type="text/css" />

            <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
            <script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
            <script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
            <script src="/Scripts/jquery-ui-1.8.13.custom.min.js" type="text/javascript"></script>
            <script src="/Scripts/jqgrid/i18n/grid.locale-en.js" type="text/javascript"></script>
            <script src="/Scripts/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>
            <script src="/Scripts/jqgrid/sandbox-grid.js" type="text/javascript"></script>

[HttpGet]
        public JsonResult GetGrids(string sidx, string sord, int page, int rows)
        {
            var query = from e in _form.All() select e;
            var count = query.Count();

            var result = new
            {
                total = 1,
                page = page,
                records = count,
                rows = query.Select(x => new { x.Id, x.AccountNumber, x.FirstName })
                            .ToList()
                            .Select(x => new
                            {
                                id = x.Id,
                                cell = new string[] {x.Id.ToString(),x.AccountNumber,x.FirstName}
                            }).ToArray(),
            };

            return Json(result, JsonRequestBehavior.AllowGet);

        }


    $(document).ready(function () {
        jQuery("#list").jqGrid({
            url: '/Home/GetGrids/',
            mtype: 'GET',
            dataType: 'json',
            colNames: ['Id', 'Account Number', 'Lastname'],
            colModel: [
                { name: 'Id', index: 'Id', width: 200 },
                { name: 'AccountNumber', index: 'AccountNumber', width: 300 },
                { name: 'LastName', index: 'LastName', width: 100 }
            ],
            rowNum: 10,
            rowList: [10, 20, 30],
            pager: '#pager',
            sortname: 'Id',
            viewrecords: true,
            sortorder: "desc",
            caption: "Pay Your Bill"
        });
        jQuery("#list").jqGrid('navGrid', '#pager', { edit: false, add: false, del: false });
    });

本地绑定正在工作 ---------------------------------

var mydata = [
                { Id: "1", name: "test", AccountNumber: "note", LastName: "1sdfd sdfsdf00" },
                { Id: "2", name: "test2", AccountNumber: "note2", LastName: "2sdf sdfdf00" }

            ];

 data: mydata,

datatype: "local",

【问题讨论】:

    标签: jquery asp.net-mvc-3 jqgrid


    【解决方案1】:

    在我看来,您使用的代码中的主要错误是

    dataType: 'json'
    

    而不是

    datatype: 'json'
    

    由于 jqGrid 不知道 dataType,所以将使用默认值 datatype: 'xml'

    更新:我建议您始终实现loadError 事件处理程序。请参阅the answer 的更新部分,其中包含带有the VS2008 projectthe VS2010 project 的演示,这是您使用的the Phil Haack demo 的修改。

    【讨论】:

    • 谢谢伙计。我觉得很愚蠢 :( 。工作。我会看到参考帖子。
    • @pirzada:不客气!这是一个标准问题,几乎每个使用jQuery.ajax 的人都会犯一次错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多