gpt4 book ai didi

asp.net-mvc - ASP.Net MVC Kendo Grid 的自定义分页

转载 作者:行者123 更新时间:2023-12-02 07:44:51 25 4
gpt4 key购买 nike

我有一个 MVC Kendo Grid,如下所示。它在默认分页下运行良好。

现在,我想做自定义分页。在 Controller 操作中,我们需要知道当前页面索引。它还应该设置网格的“总”计数。 [即使数据库中有 100 条记录,实际数据源一次也只有 2 条记录。因此网格必须使用“total”属性知道数据库中的记录总数。]

查询一次只能从数据库返回 2 条记录。

我们如何使用 Kendo Grid 的 MVC 包装器来执行此自定义服务器分页?

@using (Html.BeginForm())
{

@(Html.Kendo().Grid<KendoUIMvcSample.Models.Sample>()
.Name("ssgrid222")
.Columns(columns => {
columns.Bound(p => p.SampleDescription).Filterable(false).Width(100);
columns.Bound(p => p.SampleCode).Filterable(false).Width(100);
columns.Bound(p => p.SampleItems).Filterable(false).Width(100);
})
.AutoBind(false)
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(2)
.Read(read => read.Action("Orders_Read", "Sample")
)
)
)
}

Controller

public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
{

int currentPageNumber = request.Page;
return Json(GetOrders().ToDataSourceResult(request));
}

最佳答案

它在 kendo site 中定义

Controller 代码

    //Paging and Sorting
int currentPage = request.Page;
int pageSize = request.PageSize;
string sortDirection = "ASC";
string sortField = "UpdatedDateTime";

if (request.Sorts != null && request.Sorts.Count > 0)
{
sortField = request.Sorts[0].Member;
sortDirection = request.Sorts[0].SortDirection.ToString();
}

//Setting the TOTAL
var result = new DataSourceResult()
{
Data = orders,
Total = total // Total number of records
};

return Json(result);

查看

      <div class="GridSearch">

@(Html.Kendo().Grid<MVC.Models.TransactionHistoryModel>()
.Name("TransactionHistroyGrid")
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(25)
.ServerOperation(true)
.Read(read => read
.Action("TransactionHistorySearch_Read", "TransactionHistoryResults")
.Data("additionalData")
)
)
.Columns(columns =>
{
columns.Bound(p => p.UserId).Filterable(false).Width(40).Title("Userid");
columns.Bound(p => p.Reviewed).Template(@<text></text>).ClientTemplate("<input id='checkbox' class='chkbx' type='checkbox' />").Filterable(false).Width(30).Title("Reviewed");
columns.Bound(p => p.CreatedOnEnd).Format("{0:MM/dd/yyyy}").Filterable(false).Width(50).Title("Created On");
columns.Bound(p => p.UpdatedOnEnd).Format("{0:MM/dd/yyyy}").Filterable(false).Width(50).Title("Updated On");
columns.Bound(p => p.Comment).Filterable(false).Width(50).Title("Comment");
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:325px;" })

)
</div>

关于asp.net-mvc - ASP.Net MVC Kendo Grid 的自定义分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18056923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com