0

Scrollbar in Listbox moves to last selected item

asked 思思热99re热在线视频久久精品视频在线看9999久久re6热精品首页偏股基金前7个月业绩放榜 9只领跑产品年内涨逾六成

發布時間︰

地、有錢的伙伴吹牛擺闊的時候听見過;味道鮮美的冰鎮魚子醬是我第一次 嘗到,還有鹿肉餡餅和雛鳩,加之不時斟上各色名酒,叫人喝了心曠神怡, 渾身舒暢。我知道,被這些酒食弄得眼花繚亂是愚蠢的。可是為什麼要否認 呢?我這個地位低下、出身清寒的年輕少尉,簡直可說是懷著孩子氣的虛榮 心和這些享有聲望的年長先生同坐一席,共享宛如來自仙境的山珍海味。不 得了,真不得了,我一再暗自思忖,真不得了,應該叫瓦弗盧希卡來瞧瞧, 這個長得像干酪一樣臉色蒼白的志願兵老是向我們吹噓,他們在維也納薩赫 爾飯館吃得何等闊氣!應該叫他們到這樣一座府邸來見見世面,那他們就會 瞠目結舌,驚愕不止了。是啊,這些嫉妒成性的家伙,要是他們能在這兒旁 觀,看我如何談笑風生地坐在席上就好了,讓他們看看,陸軍部的中校如何 向我敬酒,我又如何和制糖廠的經理親切友好地討論,然後他又非常嚴肅他 說道︰“您對這些事情都這麼熟悉,我大力吃驚。” ?,而且大大地炫耀了一番我思思热99re热在线视频 久久精品视频在线看99 可是我突然發出口令︰“停——住!慢步前進!”大家出乎意料地一把 勒緊韁繩。全排活像一架突然急剎車的機器,用比較遲緩的步伐前進。輕騎 兵有點驚愕地斜眼瞟我。因為——他們了解我,也知道我那控制不住的跑馬 欲——平時我們總一口氣飛馬狂奔越過草地,直達做了標記的練兵場。然而 我覺得,仿佛有一只陌生的手猛地一把拉住我的韁繩︰我忽然想起了一件事 情。我想必是無意識地在地干線的邊緣看見左邊那片圍牆構成的白色方框, 府邸花園里的樹木和高塔的平頂,于是像有一顆子彈打中了我的心口︰也許 有個人正在那兒望著你呢!你曾經以你的跳舞狂傷害過這個人,如今你又用 你的跑馬欲重新傷她的心。這個人雙腿癱瘓,被緊緊地拴住,看見你像小鳥 一樣輕快地向前飛馳,會對你艷羨不止的。反正突然之間我因為自己這樣健 這就是引起這段公案的那個倒媚的蠢事。如今我心情平靜,而且事隔多 年,我重新把這段幼稚的、帶來一切災難的插曲設想一下,我必須承認,其 實我是完全無辜地跌進了這個誤會之中;邀請一個下肢癱瘓的姑娘跳舞,這 樣的蠢事,即便是天資最聰明、經驗最豐富的人,也在所難免。但是當時我 剛受驚嚇,一時發懵,覺得自己不僅是個無可救藥的蠢貨,而且行為粗野, 簡直是個罪犯。我仿佛覺得自己用鞭于抽打了一個無辜的孩子。其實我當時 只要鎮定自若,泰然處之,所有這一切全都可以挽回;而我並未設法賠禮道 歉,卻干脆像個罪犯似的溜之大吉,這一來倒無可挽回地把事情弄糟了。我 站在府邸門口,第一陣寒風吹拂我的額頭時我就意識到了這一點。99久久re6热精品首页 門。我們的騎兵中隊一陣風似地一下子從雅羅斯勞調到匈牙利邊境的一個小 城去駐防。我究竟是不是用真實的地名來稱呼這座小城,全無所謂。因為同 一件軍服上的兩粒鈕扣也不可能比兩座奧地利外省的駐防小城更加相似。無 論在此在彼都是按規定的同樣設備︰一座軍營,一個練馬場,一個操練場, 一座軍官食堂,外加三個旅館,兩家咖啡館,一爿點心鋪,一家酒店,一家 簡陋寒倫的歌舞劇院,獻藝的是些被大劇院解雇的歌星,她們還操風流的副 業,周旋于軍官和服役一年的志願兵?之間。無論在哪里,服兵役都是同樣的 忙忙碌碌,空虛單調,每一小時都是按照一百多年來鐵板般的死章程規定得 死死的,便是空閑時間也變化不大。在軍官食堂里看來看去盡是那麼幾張臉, 說來說去還是那些話,在咖啡館里打的還是那幾種紙牌,玩的還是台球。有 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