當使用kendo ui - 網格控件時,我發現重置數據源不會自動將網格滾動位置重新定位到頂部。Kendo UI和jquery scrollTop在ios和Android瀏覽器上無法正常工作
這可能是預期的行爲,所以刷新數據源後,我添加了一個調用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);
});
就如何有效地重新加載數據到現有的劍道GRI和滾動到整個IE9 +,Chrome瀏覽器,Firefox和iOS和Android瀏覽器上運行的所需位置的任何想法?