4

剣道UIグリッドを使用しています。最初のページとは異なるページでグリッドを開始する方法はありますか?グリッドを開くたびに初期ページ番号を「3」に設定したい。

4

2 に答える 2

3

グリッドのAutoBindプロパティをfalseに設定し、ドキュメントの準備完了イベントが発生したときに、 dataSourceのpageメソッド(実際にはpager.pageが呼び出すもの)を使用することをお勧めします。

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

使用したデータ関数は、わずかに異なる目的を目的としています:)

于 2012-12-07T13:26:44.820 に答える
2

私はajaxデータソースを使用しており、次のことを行う必要がありました。

  1. AutoBindをfalseに設定します
  2. データソースに合計レコードを設定します
  3. javascriptでデータソースのpage()メソッドを呼び出す

これが私のビューの断片です(私はかみそりを使用しています):注:アクションでは、ViewBagに2つの値を設定しました:

  • 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 に答える