kendo ui - グリッド コントロールを使用しているときに、データ ソースをリセットしても、グリッドのスクロール位置が自動的に上部に再配置されないことがわかりました。
これは予想される動作である可能性があるため、データソースを更新した後、jquery scrollTop(0) の呼び出しを追加しました。これはデスクトップ ブラウザーでは機能しますが、iPad では機能しません。
$("#switch-data-btn").on("click", function(){
grid.dataSource.data(currentData);
grid.dataSource.transport.data = currentData;
grid.content.scrollTop(0);
grid.refresh();
});
次に、核に移行することに決め、グリッド データを更新する代わりに、グリッドを破棄して再構築しました。これを行うと、 scrollTop(0) 呼び出しは不要になり、すべてが順調です。
$("#switch-data-btn").on("click", function() {
buildGrid(currentData);
// buildGrid() destroys the grid, empties the dom element and recreates it.
});
上記のソリューションは理想的ではありませんが、その限られたシナリオで機能します。ただし、scrollTop() を使用してグリッドを特定の位置までスクロールするシナリオを導入するとすぐに、iPad の動作はその位置までスクロールしますが、スクロールアップして以前の結果を表示して貼り付けることはできません (デスクトップではまだ動作します)。ブラウザー)。
$("#switch-data-btn").on("click", function() {
buildGrid(currentData);
grid.content.scrollTop(50);
});
既存の剣道グリッドにデータを効率的にリロードし、IE9+、Chrome、Firefox、iOS および Android ブラウザーで機能する目的の位置までスクロールする方法についてのアイデアはありますか?