0

Scrollbar in Listbox moves to last selected item

asked 人人摸超碰人人最新上线视频超碰97免费人妻水果减产了吗?农科院研究员:主要品种都能保证供应

發布時間︰

當然,現在有一道裝飾著精致的金色圖案的奶油色滑動門緊閉著,叫人 看不見我干傻事的現場,而我自己腦子里一切都歷歷在目。可是剛過了幾分 鐘我就听見這扇門後面有椅子挪動的聲音,低聲耳語的聲音,輕手輕腳地來 回走動的聲音。我立刻听出,隔壁屋里有好幾個人。我設法利用這坐等的時 間,仔細觀察一下這座客廳︰屋里放著一套路易十六式的富麗堂皇的家具, 左右兩邊牆上掛著古老的戈伯蘭壁毯?,幾扇玻璃門直接通向花園,門邊的牆 上有幾幅古老的名畫,畫的是英吉利海峽和聖馬可廣場。盡管我對此道一竅 不通,我也覺得這是珍品。話雖如此,我並沒有對這些藝術寶藏細加區分, 因為我同時正聚精會神地在那里竊听隔壁的響動。那里發出輕微的杯盤聲, 有扇門砰地關上,現在我覺得也听見了拐杖不規則的篤篤篤篤生硬地敲擊地 板的聲音。 人人摸 大地之神——最後一次降臨塵寰,化身為凡人中的一員,以便體驗其歡樂和超碰人人最新上线视频 我不由自主地受他誘惑,舉目向鄰桌望去,以便隔著兩米遠的距離觀察一下這位一度蓋上歷史 印記的英雄人物。可是我在那兒踫上了一道嚴峻溫怒的目光,似乎想說︰那家伙向您胡謅了什麼關于 我的事情了嗎?我臉上沒什麼可看的!與此同時,這位先生做了一個顯而易見的下友好動作,把椅子 住旁邊一挪,斷然地把脊背朝向我們。我有些不好意思,收回我的目光,從此不再瞅他,哪怕只是出 于好奇也決不去瞟一眼那張桌子的桌布。不久我就向我那位善良的饒舌朋友告辭,可是在我跨出門去 的時候就已經看見,他馬上換了個座位,坐到他的主人公那里去了,大概是以同樣的熱心向那位介紹 我,就像他向我介紹那位一樣。 超碰97免费人妻 “施與人者,天必與之,”格言集上的這句箴言,每個作家都可以心安理得地以下述的含義予 以證實︰“講了很多故事的人,必有人講故事給他听。”通常人們總以為,在詩人的頭腦里,想象力 運轉奔馳,一刻不停,詩人從取之不盡用之不竭的庫存里不斷地杜撰出形形色色的事件和故事。這種 想法,其實是最錯誤不過的了。事實上,只要詩人觀察和諦听的本領日益增長,接連不斷地總有各種 各樣的人物形象和事件需要他去復述,那他根本不必杜撰,只消把這些向他涌來的人和事予以再現就 行了。經常試圖解釋別人命運的人,定會有許多人向他敘述自己的命運。 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