0

Scrollbar in Listbox moves to last selected item

asked 亚洲最大的成人网站亚洲成人色图亚洲第一成人网站替代品作用加剧 AP910继续下跌

發布時間︰

這一切的的確確會幫大忙,並且跟著哄人︰話說回來,在安加丁呆上兩星期, 就是對您和我也會出其不意地產生振奮精神的作用。但是,親愛的少尉先生, 我作為大夫不能只想到開頭,也要想到發展,尤其不得不想到結尾。我必須 估計到反作用。希望夸大到瘋狂的程度,不可避免地會產生反作用,是的, 不可避免!同樣作為大夫我始終是個冷靜思索的象棋手,仔細盤算的紙牌手, 不得成為瞎踫運氣的賭徒。如果輸了賭注,歸別人償付,我尤其不能踫運氣 瞎賭。” “康多爾大夫呀??您不是送他了嗎???” 現在我才明白,這次在黑暗中相遇,不消說,並非偶然的邂逅。這個焦亚洲最大的成人网站 二十四亚洲成人色图 可是在這天晚上,我一來疲憊不堪,二來神經也受到過分刺激,既睡不 人過分小心謹慎,簡直到了可怕的程度。不過只要他答應了那麼一點,那麼 從頭到尾都會成功。對他是完全可以放心的,您真不知道,我是多麼需要結 束我的疾病,或者至少能確切知道,這病是會了結的??他們老是跟我說, 耐心,要有耐心!可是我總得知道,我得忍耐到什麼地步,得忍耐多久。要 是有人跟我說,這病還得拖六個月,拖一年——那我就會說,好吧!這我認 了,人家要我干啥,我就干啥??感謝天主,這事總算有個盼頭了!您簡直 沒法想象,從昨天起,我感到多麼輕松自在。我覺得,我仿佛剛剛開始生活。 今天一大清早我們就乘車到城里去了——可不是,您感到驚訝了吧——現 在,自從我知道我已經闖過難關了,我覺得,人家怎麼說,怎麼想,在背後 冷眼瞅我,還是心里同情都無所謂??我現在每天都打算乘車出游,為了向 我自己證明,這種愚蠢的一味傻等,沒完沒了的消極忍耐終于結束了。明天 是星期日——您總有空吧我們還有個宏偉的計劃,爸爸已經答應我,咱們驅 車到養馬場去。我已經有幾年沒到那兒去了,大概有四五年了吧??這些年 我根本不願意上街。可是明天咱們坐車出去,您當然也跟我們一起去。您將 驚訝不已,我們倆,伊羅哪和我想好了要讓您大吃一驚。要不??”她轉過 臉去,對伊羅娜笑道——“你要我現在就把那巨大的秘密說出來嗎?”亚洲第一成人网站 我一直心里不安。兩天來,您一直忙我的事,我的確有這種感覺,誰也不可 2019-07-29 16:02:29 +0800

anvibb gravatar image anvibb
3 1

Hi, guys! I have some trouble with scrollbar in the Listbox component - when I set the model to it and selecting several listitems, the scrollbar moves down to the last selected item, but I need to keep it on top. We've used simple zul as a view:

<zk>
<window xmlns="http: //www.zkoss.org/2005/zul" xmlns:xsi="http: //www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http: //www.zkoss.org/2005/zul http: //www.zkoss.org/2005/zul/zul.xsd"
        use="com.otr.sufd.zkossforms.table.SetDocColumnsView"
        closable="true" border="normal" title="Customize columns" ctrlKeys="" height="400px" width="300px">
    <borderlayout width="100%" height="100%">
        <center>
            <listbox id="table" checkmark="true" vflex="true" fixedLayout="true" multiple="true" width="100%">
                <listhead>
                    <listheader align="left">Column title</listheader>
                </listhead>
            </listbox>
        </center>

        <south size="36" autoscroll="true">
            <toolbar align="end">
                <button label="OK" id="okButton" height="24px" width="75px" mold="os"/>
                <button label="Reset" id="resetButton" height="24px" width="75px"/>
                <button label="Cancel" id="cancelButton" height="24px" width="75px" mold="os"/>
            </toolbar>
        </south>
    </borderlayout>
</window>

</zk>

In SetDocColumnsView I filled Listbox by model and make some AfterCompose actions:

public void configureView(List<? extends HeaderElement> columns, Set<String> hiddenIds) {
    setSizable(true);

    final ListModelList tableModel = new ListModelList(columns);
    tableModel.setMultiple(true);
    table.setModel(tableModel);
    table.renderAll();
    for (int i = 0; i < columns.size(); i++) {
        final HeaderElement column = columns.get(i);
        if (column != null) {
            final Listitem listitem = table.getItemAtIndex(i);
            listitem.setLabel(column.getLabel());
            final String columnId = column.getId();
            listitem.setValue(columnId);
            listitem.setSelected(!hiddenIds.contains(columnId));
        }
    }
}
@Override
public void afterCompose() {
    table = (Listbox) getFellow("table");
    final Button okButton = (Button) getFellow("okButton");
    //adds some listeners to buttons
    addForward(Events.ON_OK, okButton, Events.ON_CLICK);
    addForward(Events.ON_CANCEL, cancelButton, Events.ON_CLICK);
    okButton.setFocus(true);
}

And then I show the dialog window by this code:

final SetDocColumnsView dialog = UIUtils.loadComponent(SetDocColumnsView.getUrl());
dialog.configureView(columnList, hiddenIds);
dialog.setPage(getPage());
dialog.doHighlighted();

I've tried to use some advice given in other threads, such as:

Clients.scrollIntoView(table.getItemAtIndex(0))

or call JS function inside my configureView method:

Clients.evalJavaScript("zk.Widget.$('" + dialog.table.getUuid() + "')._scrollToIndex(0);")

or keep all listitems what I need to select in a different Set and post to setSelectedItems method of Listbox, but everything is without success. Also, I've tried to debug a JS function _doScroll in Listbox.js but I don't figure out from where it has been called :(

I will be very appreciated if someone can help me with this problem.

Best regards, Roman

delete flag offensive retag edit

Comments

if your example is simple, please paste it into http://zkfiddle.org/ so that anyone can have a look directly, this increases your chances of getting a response quickly

cor3000 ( 2019-07-29 18:30:05 +0800 )edit

Yeah, I made simple zkfiddle example - http://zkfiddle.org/sample/1a44bo/1-scrollbar-in-listbox-moves-to-last-selected-item which reproduces the problem

anvibb ( 2019-07-30 21:16:58 +0800 )edit

4 Answers

0

answered 2019-08-01 09:12:39 +0800

hawk gravatar image hawk
2415 1 5
http://hawkphoenix.blogsp... ZK Team

Thanks for the zkfiddle example. Remove renderAll() can solve scrolling position issue. Listbox by default will render necessary Listitem for visible range, you don't need to call renderAll() which will enforce rendering all Listitems which is unnecessary for most cases. Please refer to http://zkfiddle.org/sample/1a44bo/2-scrollbar-in-listbox-moves-to-last-selected-item#source-2

link publish delete flag offensive edit
0
link publish delete flag offensive edit
0

answered 2019-07-31 21:05:33 +0800

anvibb gravatar image anvibb
3 1

updated 2019-08-01 09:01:48 +0800

hawk gravatar image hawk
2415 1 5
http://hawkphoenix.blogsp... ZK Team

Thank you for the response, hawk!

I tried to change the selection of items as you advised, but it doesn't solve my problem - when I select several items via ListModeList.setSelection, the scrollbar moves down to the last item. I made an example of that behavior in zkfiddle - http://zkfiddle.org/sample/1a44bo/1-scrollbar-in-listbox-moves-to-last-selected-item

link publish delete flag offensive edit
0

answered 2019-08-01 17:45:43 +0800

anvibb gravatar image anvibb
3 1

Removing renderAll() is helped!

Thank you so much!

link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
1 follower

RSS

Stats

Asked: 2019-07-29 16:02:29 +0800

Seen: 12 times

Last updated: Aug 01

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More