【问题标题】:Kendo Grid paging not working properly剑道网格分页无法正常工作
【发布时间】:2015-05-23 22:51:28
【问题描述】:

我正在使用 Kendo MVC 网格。使用数据表而不是模型在网格中显示。并根据页码填充数据。但分页不起作用下面是我的代码:

List.cshtml 文件

@(Html.Kendo().Grid(Model)
.Name("UserGrid")
.EnableCustomBinding(true)
.Columns(columns=>
  { 
      foreach(System.Data.DataColumn column in Model.Columns)
      {
          columns.Bound(column.ColumnName).Title(column.Caption).Width(200);
      }
   }
)
.Selectable(selectable=>selectable
   .Type(GridSelectionType.Row)
)
.Pageable()
.Filterable()
.DataSource(dataSource => dataSource
    .Ajax()
    .Model(model =>
         {
             foreach(System.Data.DataColumn column in Model.Columns)
             { 
                 model.Field(column.ColumnName,column.DataType);
             }
         }
     )
      .Total((int)ViewData["recordcount"])
     .Read(read => read.Action("Read", "User").Type(HttpVerbs.Get))
 )
 )

这是控制器代码。 UserList 函数将数据作为数据表返回,Read 函数将数据填充并通过网格传递:

  private DataTable UserList()
    {
        DataSet ds = new DataSet();
        if (ViewData["pageno"] != null && Convert.ToInt16(ViewData["pageno"]) > 1)
        {
            iUserSearch.pageNumber = Convert.ToInt16(ViewData["pageno"]);
        }
        else
        {
            iUserSearch.pageNumber = 1;
        }
        iUserSearch.pageSize = 10;
        ds = iUser.ListUser(iUserSearch);
        var dataTable = new DataTable();

        dataTable = ds.Tables[0];
        if (ds.Tables[0].Rows.Count != 0 )
            ViewData["recordcount"] = (int)ds.Tables[0].Rows[0]["Totalcount"];
        return dataTable;

    }


    public ActionResult Read([DataSourceRequest] DataSourceRequest request)
    {
        //Paging and Sorting
        int currentPage = request.Page;
        int pageSize = request.PageSize;

        ViewData["pageno"] = currentPage;
        //Setting the TOTAL
        DataTable dt = UserList();
        //return View("List",dt);
        //var result = dt;
        return Json(dt.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
    }

【问题讨论】:

  • 分页不起作用是什么意思?会发生什么?
  • 点击下一页时。数据没有得到负载。调试模型时显示更新的数据。似乎没有得到渲染..
  • 您使用的是自定义 Kendo javascript 文件吗?如果是,请确保您已选择分页作为网格功能的一部分。
  • 是的,我正在使用 js 文件。如果我在布局文件中删除 kendo.aspnetmvc.min.js,它工作正常。但是需要这个 js 用于过滤器和网格中的其他功能
  • 当然您使用的是.js 文件。我的问题是您使用的是自定义 .js 文件 (docs.telerik.com/kendo-ui/install/custom) 还是 kendo.all.min.js

标签: asp.net asp.net-mvc kendo-grid kendo-asp.net-mvc


【解决方案1】:

我已经通过在视图中分配模型 ID 解决了这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多