0

Scrollbar in Listbox moves to last selected item

asked 夜夜撸2014最新版狠狠撸首页色吧网电影央行加了一年班 将要推出的数字货币是个啥?

發布時間︰

我在戰爭中幾乎只遇到群眾性的勇氣,也就是排在隊伍里表現出來的勇氣,要是仔細研究一下 這個概念,就會發現稀奇古怪的成分︰含有很多虛榮心、許多輕率甚至無聊,尤其含有許多恐懼,是 的,生怕落在人家後面,生怕被人恥笑,生怕單獨行動,特別是生怕和群眾性的熱情相對抗;那些在 戰場上公認為最勇敢的人,其中大部分在我後來私人接觸的時候,作為平民全是些相當成問題的英 雄。”“請您注意,”他彬彬有禮地轉過臉去對主人說道,主人則做了一個鬼臉。“我自己也不例外。” 我喜歡他說話的這種態度,我很想向他走過去,可是這時女主人已經在招呼大家進晚餐。我們 上一筆?那當然? 「繳霞男湃耍 突ㄈ說男彰∫ 蝗凰趺粗 勒食ㄊ誰送的。夜夜撸2014最新版 狠狠撸首页 傅雷是一個典型的中國知識分子,他不能違背自己的心靈,他同樣不能違反自己的邏輯,不能忍受自己的思想被霸佔,更不能讓自己的靈魂被否定,所以他選擇了死。色吧网电影 伴,也沒個熟人,連這小城里的鄉紳名流也一個不見。全是陌生人,素昧平 生的陌生人。似乎主要是附近一帶的地主攜同妻女,要不就是擔任公職的官 員。然而大家穿的都是便服,只有便服,除了我的軍裝,看不見別的軍服! 我的天,我這人笨口拙舌,靦腆怯生,叫我怎麼跟這些素不相識的人交談! 幸虧我的座位安排得很好。那位漂亮的外甥小姐,那位長一雙褐色眼楮、性 情奔放的姑娘就坐在我的旁邊。她似乎在點心鋪那會兒就注意到了我向她投 去的艷羨贊賞的目光,因為她對我友好地微笑,好像我是個老朋友。她那雙 眸子像兩粒咖啡豆,的確,她一笑就發出咯咯咯的聲音,像炒豆子的聲音一 樣。在她濃密的美發下面長著一對小巧迷人的耳朵,薄得幾乎透光。我心里 暗想,這可像是長在一片苔蘚上面的兩株玫瑰紅的櫻草啊。她裸露著柔軟細 嫩的雙臂;摸上去一定像剝了皮的桃子一樣潤滑。 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