0

Scrollbar in Listbox moves to last selected item

asked 北京赛车pk10 PK10开奖直播 北京赛车pk10开奖结果历史记录 - 视频计划网贵州快3助手手机版下载贵州快3app怎样下载女子沉迷赌博196刀刺死闺蜜获死缓 死者家属申诉

發布時間︰

康多爾一面往前走,一面說了這番話,說時也不正眼看我一下,過了一 些時候,他才又放慢腳步。足足有四五分鐘之久,我們一聲不吭,並排往前 走。一輛馬車向我們駛來,我們只好往邊上靠,這個農家的馬車夫好奇地直 瞪著我們這奇怪的一對,看見這個少尉和他身邊的這個矮小、肥胖、戴眼鏡 的先生,深更半夜在這條鄉間公路上默默無言地散步。我們讓馬車從我們身 邊走過,然後,康多爾突然向我轉過身來。 康多爾和我剛走出大門,我們就身不由己地在第一級台階上站住了,因 為門前的花園呈現出一片令人驚異的景致。就在剛才我們激動地在屋里度過 的這幾小時里,我們誰也沒有想到抬起頭來看看窗外。此刻景色全變,使我 們驚愕不已。一輪巨大的滿月高懸中天,猶如一個磨光的銀盤,光華四射, 天宇清澄,群星黯然無光。被白天的太陽曬熱的空氣在我們身上暖烘烘的, 頗有夏意,而與此同時,由于那刺眼的光線,又似乎有個具有魔力的冬天來 到人間。林蔭道上的碎石像新雪一樣閃閃發亮,兩旁修剪得筆直的樹木向空 曠的甬道上投下黝黑的陰影。這些樹木挺立著,好像屏住呼吸,僵立在那里。 它們時而沐浴在月光里,時而沉浸在黑暗中,像發亮的桃花心木和玻璃一樣 熠熠反光。我想不起來,曾經感到過月光如此鬼氣森森,就像在這里看到的 這樣︰月光如潮,恍若寒冰,花園淹沒在晶瑩清冷的光華之中,周遭萬籟俱 寂,萬物靜止下動;月光看上去像冬日的雪光,這種變幻的魅力是如此欺人 眼目,以致我們走下這閃光的台階時都不由自主地遲疑地探著腳步,仿佛這 是滑不留步的玻璃。可是等我們沿著像鋪了雪花似的碎石林蔭道向前走時, 突然間,我們不再是兩個人,而是四個人在走路,因為受到強烈的月光的照 射,我們的影子伸展在我們前面。我不由自主地仔細觀察這兩個執拗的漆黑 的同伴,這兩個活動的影子把我們每一個動作都事先描畫出來,我們的感情 有時候真是幼稚得奇怪——我發現我的影于比我同行人的那個又矮又胖的影 子來得修長、苗條,我甚至要說,來得“優美”,這使我得到某種滿足。我 覺得,通過這種優越感(我知道,要向自己承認這種幼稚的傻事,是要有相 當大的勇氣的)心里踏實了不少。一個人的心靈總是隨時由千奇百怪的偶然 事件來決定,恰恰是最最微不足道的外在因素會增強或者削弱我們的勇氣。 我們默默無言地一直走到大鐵門前。為了把鐵門關上,我們不得不轉身 向後看。府邪的正面像是涂了青磷,發出藍幽幽的微光,活像一整塊晶瑩的 堅冰,月色如銀,清輝炫目,竟使人難以分辨哪幾扇窗戶是屋里點燈照亮的, 哪幾扇窗戶是月光從外照亮的。只有門把的彈簧撞上時發出的刺耳的咋喳一 聲打破了周遭的寂靜。在這鬼氣森森的沉寂之中響起的這一塵世的聲響似乎 使康多爾受到鼓舞,他向我轉過臉來,神氣無拘無束,這倒是我沒有料到的。 “可憐的開克斯法爾伐!這段時間我一直在自我責備,是不是對他態度 大生硬了一點。我當然知道,他恨不得再留我呆幾個小時,問上千百件事情 或者把同一件事情問上個千百遍。可是我實在受不了啦。今天這一天實在太 辛苦,從一大清早直到夜里,一直在跟病人打交道,而且盡是些沒有多大進北京赛车pk10 PK10开奖直播 北京赛车pk10开奖结果历史记录 - 视频计划网 “‘是的,您說得一點不錯!一個大莊園也總是一個大負擔。有了它你 就永遠不得安生。每天得跟管家、僕役和鄰居打架,再加上各式各樣的賦稅 和律師!只要人家感覺到那里有一點產業,有一點錢財,他們就要把你最後 一個錢搜刮了去。你身邊只有敵人,不管你對每個人心眼多好。毫無辦法, 毫無辦法——他們只要嗅到錢就個個都變成了賊。遺憾,真遺憾啊!您說得 一點不錯︰要經營這麼一個莊園,得有一副鐵腕,要不然你是搞不好的。而 這是需要有天賦的,而且即便你有鐵腕也免不了沒完沒了地搏斗。’贵州快3助手手机版下载 乎地來回直晃啊。大概彼得羅維契囑咐她,不得讓任何人進去。好吧——大 不了塞點小費給這頭膽小怕事的笨牛。)卡尼茲立刻裝出和藹可親的樣子, 用那種粗俗的維也納方言說道︰ 康多爾慢條斯理地、深思熟慮地喝了一小口酒,然後點燃一支新的雪茄。 我想,這已經是這天晚上他抽的第四支雪茄了,他這樣一刻不停地抽煙,引 起了我的注意。我開始理解,他作為大夫,裝出來的那種特別遲鈍緩慢和藹 可親的樣子,說起話來慢條斯理,表面看來,隨隨便便,其實是種特別的技 巧,以便爭取時間,比較平心靜氣地考慮問題(或者從旁觀察)。他那肥厚 的、簡直有點懶洋洋的嘴唇在雪茄煙上吸了三四口,帶著一種近乎夢幻的神 情目送裊裊上升的青煙。然後他的身子猛然振作一下。贵州快3app怎样下载 “萊奧波爾特或者萊默爾?卡尼茲如何變成開克斯法爾伐莊園的主人和 老爺的,這個故事是在從布達佩斯到維也納的一次客車里拉開的序幕。我們 的朋友盡管那年已經四十二歲,頭發也已經開始斑白,可是大部分時間還一 直是在旅途上度過的——生性慳吝的人連時間也是節省的,至于他毫無例外 地總是乘坐三等車廂,這點無需我再強調了。因為他長年累月僕僕風塵,早 已為夜間旅行給自己安排了一套技術。首先他在硬邦邦的木頭座位上鋪開一 條甦格蘭花格子呢的旅行毯子,這是他有一次在拍賣行里當便宜貨買來的。 然後他就把他那不可缺少的黑外套仔仔細細地掛在衣鉤上,免得弄皺,把金 絲邊眼鏡放進眼鏡盒,從麻布的旅行袋里(他從來舍不得用皮箱)取出一件 粗絨布的舊睡衣,最後緊接著把帽子低低地扣在臉上,免得燈光射進眼楮。 這樣,他就蜷縮在車廂的角落里,早已習慣于就是坐著也能打瞌睡。小萊默 爾還是個孩子的時候,就已經學會了夜里沒有床、不舒服也照樣睡覺。 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