我使用組合框和按鈕將元素添加到窗體中。每當組合框的值上升或元素被添加時,它會滾動到表單頂部。我希望滾動條保持其位置。我試圖通過做保存當前滾動位置如何保存extjs表單上的滾動位置?
this.myForm.getScrollPosition();
但我getScrollPosition不是函數錯誤。
對此有何幫助?
我使用組合框和按鈕將元素添加到窗體中。每當組合框的值上升或元素被添加時,它會滾動到表單頂部。我希望滾動條保持其位置。我試圖通過做保存當前滾動位置如何保存extjs表單上的滾動位置?
this.myForm.getScrollPosition();
但我getScrollPosition不是函數錯誤。
對此有何幫助?
如果您使用的是extjs,有一種使用Ext.dom.Element類操作滾動的方法,Extjs中的每個組件都從它繼承,然後如果您添加一個新組件修改表單的高度或寬度,你可以使用先得到該組件的高度和寬度:
var newcompwidth = comboboxexample.getWidth();
var newcompheight = comboboxeample.getHeight();
稍後,您可以使用scrollTo方法這樣修改滾動值:
myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().top - newcompheight);
myformcontainer.getEl().scrollTo('Top',myformcontainer.getEl().getScroll().left - newcompwidth);
還有其他的方法,如scrollBy
或scroll
但我還沒有測試,我想這會幫助你。
文檔:http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.dom.Element
謝謝迭戈:) – EagleFox
當你更新組合框爲什麼你的形式滾動到頂部?我的不是。 – dbrin
嗨Dbrin,它不僅僅是組合框,即使當我添加一個記錄到表格中的網格後,添加後,它會在頂部。現在我只想保存當前的滾動位置。我怎樣才能做到這一點? – EagleFox
網格問題可以控制有一個網格屬性,我不知道爲什麼它會影響你的形式,雖然。在這裏看到這個答案:http://stackoverflow.com/questions/13088506/extjs-grid-panel-store-keep-scrollbar-position-after-load-reload/13149058#13149058 – dbrin