0

Scrollbar in Listbox moves to last selected item

asked 人人操人人碰caoporn在线成人视频保时捷女司机自行车版:女子撞车后挥伞打人遭反击

發布時間︰

我頭腦里一時糊涂,我是不是喝醉了?我是在睜著眼楮做夢?我是不是 神志不清了?我剛才在解開上裝的時候,不是還清清楚楚地感覺到胸口的口 袋里信紙在沙沙作響嗎?難道我已經心慌意亂到這種程度,剛把信取了出 來,一分鐘之後就不知道擱在哪兒了?我把手伸進口袋,瞧,可不就是這麼 回事,不可能是別的情況啊——這封信依然安安生生地裝在口袋里呢。現在 我才明白發生了什麼事情。現在我才頭腦完全清醒過來。桌上的這封信想必 是新來的信,是第二封,另外一封,後來寄到的信,忠厚老實的庫斯馬辦事 周到,特意把信放在熱水瓶旁邊,我一回來就可以馬上看到。 ——反正在我們團里更加光榮的辭職還從來不曾有過,據我記憶所及,還沒 有一個人更加體面地擺脫過困境。人人操 弗洛里阿尼胡同九十七號。整個這一頁再也沒有第二個醫人人碰 漫的舊貨堆里取貨那樣費力地把這名字取出來。原來是他,巴林凱——這人 “寧可上樓,如果你不在乎的話,的確只要五分鐘就行了。我不多耽擱 你。”caoporn在线成人视频 然後巴林凱繞著桌子走了一圈,手里拿著酒杯,和每一個人踫杯。我的 鄰座使勁地踫我一下,把我驚醒。我頓時感到有一雙明亮的眼楮瞅著我,向 我致意︰“祝你健康,伙計。”我惶惑地點頭回禮,一直等到巴林凱已經站 到下一個人身邊,我才發現,我忘了跟他踫杯。可是一切已經又消失在五顏 六色的濃霧之中,這陣濃霧把眾人的臉和軍裝都稀奇古怪地攪成一團,模糊 難辨。該死的——怎麼搞的,我眼前一下子升起了一股藍色的煙務,莫非別 人已經吞雲吐霧地抽起煙來了,所以我突然之間又躁又熱,感到憋氣!喝點 什麼,快喝點什麼吧!我一口氣灌下了二杯,也不知道我在喝些什麼。先把 嗓子眼里的那股苦味,那股想吐的勁頭沖走再說!自己趕快抽支煙吧!可是 等我伸手到口袋里去掏香煙盒時,我又感到了上衣里面沙沙作響的東西︰信! 我的手一顫,縮了回來。我再一次透過這嘈雜喧鬧的人聲,只听見抽抽泣位、 哀告懇求的話語︰“我只要求你允許我愛你??我也知道,我這樣向你身上 硬湊,完全是痴心妄想??” 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