繁体   English   中英

数据未在jqgrid中显示

[英]Data not getting displayed in jqgrid

我正在使用jqgrid显示,排序和过滤记录。 目前,我已经开始执行js代码,但是我认为我的控制器代码有问题,即没有填充网格。 我只能看到带有消息“没有要显示的记录”的空白blaq jqgrid。 请让我知道怎么了。
这是我的代码:
控制器:

public JsonResult GetData(string sidx, string sord, int page, int rows)
    {
        int pageIndex = Convert.ToInt32(page) - 1;
        int pagesize = rows;
        var custList = db.Customers.Select(
                                    c => new
                                    {
                                        c.ID,
                                        c.Company,
                                        c.FirstName,
                                        c.EMail,
                                        c.Status
                                    });
        int totalCustomers = custList.Count();
        var totalPages = (int)Math.Ceiling((float)totalCustomers / (float)rows);
        if(sord.ToUpper() == "DESC")
        {
            custList = custList.OrderByDescending(s => s.FirstName);
            custList = custList.Skip(pageIndex * pagesize).Take(pagesize);
        }
        else
        {
            custList = custList.OrderBy(s => s.FirstName);
            custList = custList.Skip(pageIndex * pagesize).Take(pagesize);
        }
        var jsonData = new
        {
            total = totalPages,
            page,
            customers = totalCustomers,
            rows = custList
        };
        return Json(jsonData, JsonRequestBehavior.AllowGet);
    }

解决了我的问题。 Dint知道我会这么快得到解决方案。 我从控制器中删除了所有现有代码,并添加了以下代码:

 public JsonResult GetData()
    {
        var customers = db.Customers.Select(m => new { ID = m.ID, Company = m.Company, FirstName = m.FirstName, Email = m.EMail, Status = m.Status }).ToList();
        return Json(customers, JsonRequestBehavior.AllowGet);
    }

这就是它所需要的,仅两行代码,其余功能(即分页,排序,过滤)已由jqwidgets提供:)希望这对遇到与我的问题类似的人有所帮助。
脚本如下:

 var source =
        {
            //localdata: GetData(),
            url: '/Client/GetData',
            datatype: "json",
            mtype: 'POST',
            datafields: [
                { name: 'ID', type: 'int' },
                { name: 'Company' },
                { name: 'FirstName' },
                { name: 'EMail' },
                { name: 'Status' }
            ]

        };

        var dataAdapter = new $.jqx.dataAdapter(source);
        // initialize jqxGrid
        $("#jqxgrid").jqxGrid(
        {
            source: dataAdapter,
            sortable: true,
            filterable: true,
            pageable: true,
            columns: [
                    { text: 'Client Id', datafield: 'ID', width: 200 },
                    { text: 'Company', datafield: 'Company', width: 200 },
                    { text: 'Username', datafield: 'FirstName', width: 180 },
                    { text: 'Email', datafield: 'EMail', width: 100 },
                    { text: 'Status', datafield: 'Status', width: 140 }
            ]
        });
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM