0

Scrollbar in Listbox moves to last selected item

asked 欧美成 人 在线播放欧美成人电影_欧美成人网欧美成人《自然》聚焦中国类脑芯片 或有助人工通用智能发展

發布時間︰

忽然間響起一個生硬粗獷的男低音的嗓音︰ “這里是布拉格要塞司令部。你是陸軍部嗎?” “不是,不是,”我拚命地對听簡直嚷。那聲音又含糊不清地大聲嚷嚷欧美成 人 在线播放 現在大家都目不轉楮地直瞪著我。二、四、六、八、十,十二只眼楮都 看著我的嘴。我知道,我只要一承認,緊接著他們馬上就會大叫大嚷。玩笑 調侃,諷刺挖苦,冷嘲熱諷的祝賀會劈頭蓋腦地打來。不,我不能承認這事。 當著這幫瘋瘋癲癲的家伙,這幫喜歡嘲弄人的家伙的面,我是絕不能承認的。 “胡說八道,”我咕嚕了一聲,試圖擺脫困境。可是這樣避重就輕地招欧美成人电影_欧美成人网 不用拐杖,沒人幫助——想必是意志力創造的奇跡喚醒了她這兩爭業已死去 的腿。從來沒有一個醫生能向我解釋清楚,為什麼一個癱瘓的姑娘這一次, 這絕無僅有的一次,能把她那兩條屠弱無力的腿從僵硬、虛弱的狀態中擺脫 出來。我無法形容,這是怎麼發生的,因為我們大家都泥塑木雕似的直瞪著 她那雙充滿極度喜悅的眼楮。甚至伊羅娜也忘記跟著她,保護她。可是她卻 搖搖晃晃地走著這很少的幾步路,就像被內心的一陣暴風推向前去。這不是 走路,仿佛是緊貼地面的飛行,是一只剪斷了翅膀的小鳥撲騰著摸索著在飛 行。然而意志力,這心中的妖魔推著她一步步前進,她已經走得很近,因為 完成了巨大的業績而洋洋得意,她無比渴慕地向我伸出雙臂,—一這兩條臂 膀原來一直像擺動的翅膀在保持她身體的平衡——她臉上緊張的線條已經松 弛下來,化為一道因為幸福而興高采烈的微笑。她完成了奇跡,只還有兩步, 不,僅僅只有一步,最後一步︰我幾乎已經感覺到從她那漾著微笑的嘴里吐 出來的氣息——這時可怕的事情發生了。她預感到已經贏得了一次擁抱,她 懷著渴慕之情,做了一個猛烈的動作,過早地把兩臂張開,于是失去平衡。 她的雙膝像給人用鐮刀割了一下似的,猛地折斷。她沉重地倒下,正好倒在 我的腳跟前,拐杖 里啪啦地打在堅硬的石頭地板上。我在最初的驚訝之中, 非但沒有去做最最自然不過的事情,跑過去把她扶起來,反而不由自主地直 往後退。欧美成人 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