【问题标题】:jqGrid in simple asp.net application?jqGrid 在简单的 asp.net 应用程序中?
【发布时间】:2010-02-16 09:00:54
【问题描述】:

我想在我的简单 Asp.net 应用程序中使用 jqgrid

现在是我写这段代码时的问题。

    public void  GetGridData(string sidx, string sord, int page, int rows)
    {
        return Content(JsonHelper.JsonForJqgrid(GetDataTable(sidx, sord, page, rows), rows, GetTotalCount(), page), "application/json");
    }

    public int GetTotalCount()
    {
        int totalCount = 0;
        try
        {
            using (GuestPassEntities demoMvcEntities1 = new GuestPassEntities())
            {

                totalCount = (from _product in demoMvcEntities1.GP_Register
                              select _product).Count();
            }
        }
        catch
        {
        }
        return totalCount;
    }
    public DataTable GetDataTable(string sidx, string sord, int page, int pageSize)
    {
        List<GP_Register> AllProducts = null;
        DataTable tab1 = new DataTable();
        using (GuestPassEntities demoMvcEntities1 = new GuestPassEntities())
        {

            AllProducts = (from _product in demoMvcEntities1.GP_Register.AsEnumerable()
                           select _product).ToList();



            tab1.Columns.Add("title", Type.GetType("System.String"));
            tab1.Columns.Add("desc", Type.GetType("System.String"));
            tab1.Columns.Add("select", Type.GetType("System.String"));

            foreach (GP_Register pnames in AllProducts)
            {
                DataRow dr = tab1.NewRow();
                dr["title"] = pnames.FullName.ToString();
                dr["desc"] = pnames.CompanyName.ToString();
                dr["select"] = pnames.EmployeeName.ToString();
                tab1.Rows.Add(dr);
            }
        }
        return tab1;
    }

我应该如何返回内容结果。

请给我任何答案

谢谢 丽兹

【问题讨论】:

    标签: c# asp.net jqgrid


    【解决方案1】:

    如果您有预算并且可以支付组件费用,最好的办法是使用商业组件 Trirand(jqGrid 客户端背后的人)发货

    http://www.trirand.net/demo.aspx

    【讨论】:

      【解决方案2】:

      我根本不会使用 DataTable 作为响应集。你可以序列化一个 List,其中 T 是一个 object[]...

      通过 Linq,你可以做一个

         ...Select(item => new object[] { 
           item.field1, 
           item.field2,
           ...
         });

      如果你使用 JsonResult 的默认值(假设你在这里做 ASP.Net MVC),你可以做一个

         return JsonResult(new {
            total: totalRows
            ...
            rows: resultFromLinq /* .Select(new object[] {....}) */
         })

      您可以将底层查询绑定到存储过程中,或者执行 linq2sql 或实体、nhibernate 等...直接从 DataTable 到 JSON 的结果不能很好地序列化。选择一个 object[]{} 文字作为最后一行,将产生一个序列化的数组数组。

      {
        "total": 3,
        ...
        rows: [
          ["val1", "val2", 3, ...]
        ],
        ...
      }

      我也想看看Phil Haack's post on jqGrid

      【讨论】:

        【解决方案3】:

        即使您不使用 ASP.NET MVC,或许以下文章也会有所帮助:

        Using jqGrid’s search toolbar with multiple filters in ASP.NET MVC

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-01-29
          • 2012-02-03
          • 1970-01-01
          • 1970-01-01
          • 2014-08-04
          • 2011-03-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多