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