0

Scrollbar in Listbox moves to last selected item

asked 哥哥干在线狠狠干亚洲 欧美 国产 综合网宏图高科7亿债务刚违约又有旧债到期 称已成立债委会

發布時間︰

雖然搶救及時,時間也持續40多分鐘,邱某最終未能生還。據趕來的邱某親人介紹,邱曾患有心髒病,兩年前曾做過心髒手術。 3月6日,十二屆全國人大四次會議新聞中心舉行記者會,邀請國家發展和改革委員會主任徐紹史就“經濟社會發展情況和‘十三五’規劃《綱要》”的相關問題回答中外記者的提問。新華社記者 李鑫哥哥干在线 據悉,長沙對使用國家明令禁止的高毒劇毒農藥、病死禽畜、未經檢疫或檢疫不合格的肉類、超範圍超限量使用食品添加劑等13類食用農產品,一律禁止入市銷售並列入黑名單;同時,在農貿市場、生鮮超市配套建設100個快速檢測室,對快速檢測室建設給予一定財政經費補貼,采取購買服務的方式確保檢測室有效運轉。狠狠干 曾任中國第一汽車集團公司董事長、十三屆黨委書記。歷任長春汽車研究所技術員、助理工程師、工程師,美國工程技術聯合有限公司、福特汽車公司訪問學者,長春汽車研究所底盤設計一室副主任、綜合計劃調度室副主任(主持工作)、車型設計研究部副部長(主持工作),一汽底盤廠副廠長,集團公司副總調度長,一汽-大眾公司副總經理,集團公司總調度長,集團公司副總經理, 此外,為促進出租車結構調整及節能減排,計劃今年更新1000輛天然氣車;2016年更新2000輛電動車和2000輛混合動力車;2017年 更新3000輛電動車和3000輛混合動力車。到2017年,累計報廢更新車輛中電動車、天然氣車、混合動力車各5000輛,其余更新為第五、第六階段排 放標準的汽油車;油耗和污染物排放均減少20%。亚洲 欧美 国产 综合网 中國銀河國際分析員布家杰認為,考慮到新能源汽車強勁的生產量和銷售勢頭,以及政府不斷推出新能源汽車的利好政策,中國很可能將在2015年成 為世界上最大的新能源汽車市場(以運行率計算)。他認為,由于政府出台利好政策並持續投資新能源汽車的基礎設施,因此,新能源汽車供應鏈的前景仍然正面, 擁有較強研發能力的電動汽車相關企業,將是政府出台新能源汽車政策下的主要受益者。 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