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