0

Scrollbar in Listbox moves to last selected item

asked 水莓100视频亚洲伦理av人妻在线观看|AV亚洲2018哥哥干证监会核发2家企业IPO批文 未披露筹资金额

發布時間︰

----等她飽受恭維,剛一離開點心鋪,我就迫不及待、好奇心切地向我的伙 伴打听這位鶴立雞群的人物是誰。水莓100视频 盡管如此,僕人還是安慰我——他這次可是戴著白手套,穿著燕尾服和 漿洗得僵硬的襯衫,臉上的表情也是僵硬的——他說、我的勤務兵在半小時 前已經送來了我的消息,他把我領進客廳。客廳有四扇窗,蒙著紅綢窗簾, 屋里幾盞水晶吊燈大放光明,家具陳設時髦已極,我從來沒有看見過更華貴 的客廳。可惜客廳里空無一人,使我十分羞愧,我清楚地听見刀叉踫擊碟盤 的清脆聲音從隔壁屋里傳來——惱火,真叫人惱火,我立刻想到,大家已經 人席就餐了!亚洲伦理av人妻在线观看|AV亚洲2018 為讓傅聰學鋼琴,傅雷“把他從小學撤回”。語文自己教,其他課程另請家教。傅雷從孔孟、先秦諸子、國策、左傳、史記、漢書……上選教材,親自小楷謄抄。要傅聰背誦“富貴于我如浮雲”、“一簞食一瓢飲,回也不改其樂”、“富貴不能淫,貧賤不能移”、“寧可天下人負我,毋我負天下人”、“先天下之憂而憂,後天下之樂而樂”、《前出師表》、《後出師表》…… 他雖然不當任何“長”,由于他敢說真話,群眾選他為西城區人大代表,連任五屆,直到退休。他曾給教育部長蔣南翔提建議;在人代會上憂慮教育領域中的某些現象,比如︰學生為誰而學習?相當多學生選擇專業是為自己將來活得愜意,而對國家需要的基礎行業不考慮,對國家前途命運不聞不問,甚至一些初中生學外語的目的就為出國、進外企;上級檢查衛生,學校組織學生突擊大掃除,這在年輕心靈里栽下的是弄虛作假的種子;重理輕文的結果是對文史、音樂、美術不重視。素質教育,主要靠人文教育的滋養。“文革”中集體瘋魔的事實,是人文教育、法制教育長期貧血所致。音樂美術陶冶精神文明,多听莫扎特,人會變得文明。歷史課燻陶學生愛國惜民。有些高中生寫的作文,通篇不見自己思想。很多學生不愛看書,說是沒時間。不愛看書的人怎能完善自己,產生自己的思想?特長生應與三好生同等地位,特長生也許是未來某一領域的大師,我們不能做埋沒他們的罪人。傅聰當年考雲南大學,數學可是0分……哥哥干 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