5

私は剣道グリッドを持っています:

$('#myGrid').kendoGrid({
    ...
    scrollable: false,
    ...
});

その後、スクロール可能なプロパティを変更したいと思います。私は次のすべてを試しました:

$('#myGrid').data("kendoGrid").options.scrollable = true;
$('#myGrid').data("kendoGrid").refresh();

-

$('#myGrid').data("kendoGrid").scrollable = true;
$('#myGrid').data("kendoGrid").refresh();

-

var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.options.scrollable = true;
MyGrid.refresh();

-

var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.scrollable = true;
MyGrid.refresh();

何も機能しません。グリッドがオンザフライでスクロール可能かどうかを変更するにはどうすればよいですか?

4

3 に答える 3

5

これはそのままではサポートされていないため、内部をいじる必要があります。グリッドを再作成する方がおそらく簡単ですが、それでも必要だと思われる場合は、このフィドルが正しい方向に向けるのに役立つかもしれません:

http://jsfiddle.net/lhoeppner/AKzzL/

基本的に、次のようなものを使用してみてください。

function enableScrolling() {
    if (!grid.options.scrollable) {
        grid.options.scrollable = true;
        grid._thead();
        grid.refresh();
    }
}

function disableScrolling() {
    grid.options.scrollable = false;
    grid.table.unwrap(); // manually remove the wrapper that enables scrolling
}

そのようにスクロール可能なグリッドをスクロール不可にすると、データ列の幅が正しくなくなるため、要件によっては、これをさらにカスタマイズする必要がある場合があります。

于 2013-10-16T19:59:32.147 に答える
4

グリッドのオプションは動的に変更できません。それらを動的に無効/有効にするには、さまざまなオプションを使用してグリッド全体を再作成する必要があります。

編集 2014 年第 3 四半期以降、Grid はsetOptionsメソッドをサポートします。これは内部的にほとんど同じことを行いますが、ほとんどのオプションと dataSource の状態を同期させます。

于 2013-10-16T20:06:43.537 に答える
0
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.options.scrollable = true;

(私の経験に基づいて)次に、dataSource exをリロードする必要があります:

MyGrid.setDataSource(kendoDataSource);
于 2015-11-20T07:46:35.653 に答える