2013-07-24 2 views
1

폼에 요소를 추가하는 콤보 상자와 단추가있는 긴 폼이 있습니다. 콤보 박스의 값이 올라갈 때마다 또는 요소가 추가 될 때마다 폼의 맨 위로 스크롤됩니다. 스크롤 바의 위치를 ​​유지하고 싶습니다.extjs 양식에서 스크롤 위치를 저장하는 방법은 무엇입니까?

그러나 getScrollPosition이 함수 오류가 아닙니다.

어떤 도움이 필요합니까?

+0

왜 양식 상단으로 스크롤합니까? 내 것이 아닙니다. – dbrin

+0

안녕하세요 Dbrin, 그냥 콤보 상자가 아니에요, 심지어 내가 폼에있는 그리드에 레코드를 추가 할 때, 추가 한 후에, 그것은 맨 위에갑니다. 지금은 현재 스크롤 위치를 저장하고 싶습니다. 어떻게해야합니까? – EagleFox

+0

그리드 문제는 거기에 대한 그리드에 대한 속성이 제어 할 수 있습니다, 난 왜 당신의 양식에 영향을 미칠지 모르겠다. 이 대답보기 : http://stackoverflow.com/questions/13088506/extjs-grid-panel-store-keep-scrollbar-position-after-load-reload/13149058#13149058 – dbrin

답변

3

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 또는같은 다른 방법이 있습니다3210하지만 아직 테스트하지 않았어.이게 도움이 될 것 같아.

워드 프로세서 : 콤보 상자를 업데이트 할 때 http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.dom.Element

+0

디에고 감사합니다 :) – EagleFox