5

私は剣道グリッドを使用するmvc4プロジェクトに取り組んでいます。デフォルトで選択されているグリッドの最初の行をユーザーに表示してほしい。行が多いので、ページングを使用します。ユーザーがページ2、3、... 40などに移動すると、選択した各ページの最初の行も表示したいと思います。以下は、グリッドを作成するコードです

<%: Html.Kendo().Grid(Model)
            .Name("AuthorisationsGrid")
            .Columns(columns =>
             {
                 columns.Bound(p => p.Mis).Title("MIS").Width(80);
                 columns.Bound(p => p.AuthorisationSerialNumber).Title("ΑΑ Προέγκρισης");
             })
             .Pageable()
             .Sortable()
             .Filterable()
             .Selectable(s => s.Mode(GridSelectionMode.Single))
             .Resizable(resize => resize.Columns(true))
             .DataSource(dataSource => dataSource
                .Ajax()
                .ServerOperation(false)
                .Model(model => model.Id(p => p.AuthorisationSerialNumber))
                .Model(model => model.Field(p => p.Mis))
                .Batch(true)
                .Read(read => read.Action("AuthorisationsPartial", "UserFilesDashboard")))%>

上記の動作をどのように達成できますか?たぶんjQueryは役に立つかもしれません(しかし私はjQueryの知識がほとんどありません)。助けていただければ幸いです。前もって感謝します。

4

4 に答える 4

4

実際、グリッドのdataBoundイベントとjQueryを使用して、k-state-selectedクラスをグリッドのtbodyの最初のtr要素に追加できます。

ここに例があります:

$('#GridName').data().kendoGrid.bind('dataBound',function(e){
    this.element.find('tbody tr:first').addClass('k-state-selected')
})
于 2012-11-18T19:56:04.583 に答える
3

これを別の方法で行うことも可能です

方法1

onDataBoundを介してグリッドをイベントにバインドします

<div data-bind="source: mydataSource, events: {
  dataBound: onDataBound
}" > 

MVVMの場合、または

("#gridName").data("kendoGrid").dataBound(..) (not exact)

方法2

の内部

databound: function() {
  var uid = data[0].uid;
  var row = roomGrid.table.find('tr[data-uid="' + uid + '"]');
  roomGrid.select(row);
}

私の場合、これは機能します。それが役に立てば幸い。

于 2013-03-30T18:23:58.970 に答える
1
$('#gridName').data().kendoGrid.bind('dataBound', function (e) {
            this.select("tr:eq(1)");
            //this.element.find('tbody tr:first').addClass('k-state-selected');
        })

詳細については、以下のリンク http://docs.kendoui.c​​om/api/web/grid #methods-selectを参照してください。

于 2013-12-28T14:35:26.817 に答える
0

からコードを更新した後:

$('#GridName').data().kendoGrid.bind('dataBound',function(e){...

に:

$('#GridName').data("kendoGrid").bind('dataBound', function (e) {...

これで修正され、以下の最終的なコードが機能しています。

$(function () {
    $('#GridMaster').data("kendoGrid").bind('dataBound', function (e) {
        this.element.find('tbody tr:first').addClass('k-state-selected')
    });
});


注:グリッド上のレコードの取得に問題がある場合は、グリッド定義の前ではなく、グリッド定義の後にこのスクリプトを使用してください。

于 2015-02-25T19:48:26.777 に答える