0

Scrollbar in Listbox moves to last selected item

asked 色姐妹百色综合色尼姑AV色尼姑中国糖果逐步采取必要行动以达成复牌条件 继续停牌

發布時間︰

親愛的孩子︰每次媽媽連續夢見你們幾晚,就會收到你們的信,這次也不例外,她不但夢見你們兩個,也夢見彌拉從窗下經過,媽媽叫了出來︰彌拉!媽媽說,彌拉還對她笑呢! 不辨明古典精神的實際,自以為走古典路子的藝術家很可能成為迂腐的學院派。不辨明“感官的”一字在希臘人心目中代表什麼,藝術家也會墮入另外一個陷阱︰小而言之是甜俗、平庸;更進一步便是頹廢,法國十八世紀的一部分文學與繪畫,英國同時代的文藝,都是這方面的例子。由此可觀︰藝術家要提防兩個方面︰一是僵死的學院主義,一是低級趣味的刺激感官。為了防第一個危險,需要開拓精神視野,保持對事物的新鮮感;為了預防第二個危險,需要不斷培養、更新、提高鑒別力(taste),而兩者都要靠多方面的修養和持續的警惕。而且只有真正純潔的心靈才能保證藝術的純潔。因為我上面忘記提到,純潔也是古典精神的理想之一。色姐妹 百色综合 親愛的孩子,自從彌拉和我們通信以後,好像你有了秘書,自己更少動筆了。知道你忙,精神緊張勞累,也不怪你。可是有些藝術問題非要你自己談不可。你不談,你我在精神上藝術上的溝通就要中斷,而在我這個孤獨的環境中更要感到孤獨。除了你,沒有人再和我交換音樂方面的意見。而我雖一天天的衰老,還是想多吹吹外面的風。你小時候我們指導你,到了今日,你也不能坐視爸爸在藝術的某一部中落後!色尼姑AV色尼姑 結合听眾的要求和你自己的學習,以後你的節目打算向哪些方面發展?是不是覺得舒伯特和莫扎特目前都未受到應有的重視,加上你特別有心得,所以著重表演他們兩個?你的普羅柯斐夫?和蕭斯塔可維奇?的朔拿大,都還沒出過台,是否一般英國听眾不大愛听現代作品?你早先練好的巴托克協奏曲是第幾支?听說他的協奏曲以No.3最時行。你練了貝多芬第一,是否還想練第三?一彈過勃拉姆斯的大作品後,你對浪漫派是否感覺有所改變?對舒曼和法朗克是否又恢復了一些好感?當然,終身從事音樂的人對那些大師可能一輩子翻來覆去要改變好多次態度;我這些問題只是想知道你現階段的看法。 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