4

我正在使用剑道 UI 网格。有没有办法在与第一页不同的页面开始网格?每次打开网格时,我都想将初始页码设置为“3”。

4

2 回答 2

3

我建议您将 Grid 的AutoBind属性设置为false,并且当文档就绪事件发生时,使用dataSource的page方法(这实际上是pager.page调用的方法)。

$('#MyGrid').data().kendoGrid.dataSource.page(3);

您使用的Data函数的用途略有不同:)

于 2012-12-07T13:26:44.820 回答
2

我使用 ajax 数据源,我需要这样做:

  1. 将自动绑定设置为 false
  2. 设置数据源中的总记录
  3. 通过javascript调用数据源的page()方法

这是我的视图片段(我使用剃刀): 注意:在操作中,我在 ViewBag 中设置了两个值:

  • ViewBag.InitialPage:要显示的初始页面
  • ViewBag.Total:总记录数

.

@{
    int initialPage = (int)ViewBag.InitialPage;
    int totalPages = (int)ViewBag.Total / 20;
}

@(Html.Kendo().Grid<YourModelClass>
    ()
    .Name("gridMain")
    .Columns(columns =>
    {
        //Todo: Add your columns
    })
    .Pageable(p => p.Refresh(true).Info(true).Input(true).ButtonCount(6).Numeric(true))
    .Sortable()
    .Scrollable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Read(read => read.Action("YourAction", "YourController"))
        .Total(ViewBag.Total) //Set the total record count
    )
    .AutoBind(false)        
)

<script type="text/javascript">
    $(function () {
        var initialPage = @initialPage;
        $('#gridMain').data().kendoGrid.dataSource.page(initialPage);
    })
</script>
于 2015-12-15T16:12:07.440 回答