0

Scrollbar in Listbox moves to last selected item

asked 千人斩经典 色偷拍亚洲偷自拍视频亚洲偷偷自拍高清无码马云哈尔滨一日游:打卡哈工大 签4个协议逛街吃冰棍

發布時間︰

我心想,再坐十分鐘,然後我就可以不引人注目地告辭了;這時有人在 門上輕輕敲了兩下,僕人悄無聲息地走進屋來,仿佛他是赤腳走路的。他在 艾迪特耳邊說了點什麼。她按捺不往,暴跳起來。 但是,沒有必要對這位“百有份”朋友進一步的描寫,(趨炎附勢之輩種類繁多,五花八門, 維也納人通常用“百有份”這個輕松的諷刺字眼來概括他們當中那些心地善良的清客類型,)因為誰 都熟悉他們,大家全部知道,你要是態度不粗暴,是無法抵御他們來親近你的那些舉動的。這些舉動 本身無害,而且動人。所以我無可奈何地在他身旁坐下,天南海北地瞎聊了一刻鐘。這時有位紳士走 進飯店。他身材頎長,臉色紅潤,而且年輕,可是兩鬢斑白,十分刺眼,看上去非常引人注目。他走 起路來,腰板挺直,一望而知他當過軍人。我鄰座的朋友以他典型的巴結勁跳起身來忙著招呼。那位 先生對他這熱乎勁的回答,與其說是彬彬有禮,毋寧說是滿不在乎。侍者急忙快步趕來,那位新來的 客人還沒點菜,我這位“百有份”朋友已經挪近我的身邊,在我耳邊輕聲說道︰“您知道他是誰嗎?” 我早已深知他這種收藏家的驕傲,他收藏中每一件稍微有趣一點的樣品都要拿出來炫耀一番。惟恐他 長篇大論地解釋個沒完,所以我只是冷淡地說了句︰“不知道”,表示興趣不大,一面繼續切我的巧 克力蛋糕。可是我這漠不關心的態度只能使這位攀高枝拉關系的能手更加興奮。他小心翼翼地用手遮千人斩经典 但是另外還有一樣更加神秘的東西在無意識地起作用,使我每天和這兩色偷拍亚洲偷自拍视频 ? 卡爾一世(1887—1922),奧匈帝國最後一個皇帝,一九一八年十一月被推翻。亚洲偷偷自拍高清无码 我鞠了一躬,打算告辭。可是她又改變了主意。 “不,請您在我走出去的時候,還跟我爸爸呆一會,等我走出去,”最 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