0

Scrollbar in Listbox moves to last selected item

asked 天天很天天情天天透狠se手机网久久机热视频/这里只有精品/99热视频只有精品国产中国石化与中国海油签订合作协议 涉及探矿权19个

發布時間︰

康多爾一面往前走,一面說了這番話,說時也不正眼看我一下,過了一 些時候,他才又放慢腳步。足足有四五分鐘之久,我們一聲不吭,並排往前 走。一輛馬車向我們駛來,我們只好往邊上靠,這個農家的馬車夫好奇地直 瞪著我們這奇怪的一對,看見這個少尉和他身邊的這個矮小、肥胖、戴眼鏡 的先生,深更半夜在這條鄉間公路上默默無言地散步。我們讓馬車從我們身 邊走過,然後,康多爾突然向我轉過身來。 雖然我已經答應伊羅娜第二天下午老時間去看她們,可是為了謹慎起見 我還是事先打電話去通報一下。寧可嚴格遵守禮儀,禮儀是安全裝置。我想 以此表明,我不願做任何人的不速之客,我想從現在起,每次都詢問一下, 他們是否接待我的訪問,我的訪問是否受歡迎。當然這一點我這次去是不必 懷疑的,因為僕人已經敞開大門在那兒恭候,我一進門,他就急切已結地告 訴我︰“小姐們在塔頂的露台上,她們請少尉先生一到就立刻上去。”他又 補充了一句︰“我想,少尉先生還從來沒有在上面呆過吧。少尉先生,那兒 的景致簡直美極了,您會大吃一驚的。”天天很天天情天天透 康多爾慢條斯理地、深思熟慮地喝了一小口酒,然後點燃一支新的雪茄。 我想,這已經是這天晚上他抽的第四支雪茄了,他這樣一刻不停地抽煙,引 起了我的注意。我開始理解,他作為大夫,裝出來的那種特別遲鈍緩慢和藹 可親的樣子,說起話來慢條斯理,表面看來,隨隨便便,其實是種特別的技 巧,以便爭取時間,比較平心靜氣地考慮問題(或者從旁觀察)。他那肥厚 的、簡直有點懶洋洋的嘴唇在雪茄煙上吸了三四口,帶著一種近乎夢幻的神 情目送裊裊上升的青煙。然後他的身子猛然振作一下。狠se手机网 ? 即加上“封”字。 久久机热视频/这里只有精品/99热视频只有精品国产 他又把身子往後一靠,把眼楮閉上片刻。 “是的,要我這樣憑空解釋,她身上什麼東西變樣了,這很困難,因為 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