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