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