ZK Listbox: горизонтальная полоса прокрутки не отображается с hflex = min (в другом контейнере / Tabbox) - PullRequest
0 голосов
/ 08 февраля 2012

Вот небольшая проблема:

Ссылка на изображение проблемы

Компоновка работает правильно без hflex = "min" - но, конечно, тогдастолбцы слишком узкие.Вот краткий обзор:

<?xml version="1.0" encoding="UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<zk>
    <style>
    .module-alternative-amount-cell {
        text-align: right;
    }
    .cost-entry-alternative-amount-cell {
        text-align: right;
    }
    </style>
    <window id="thisEditor" width="99%">

        <!-- header label -->
        <vbox>
            <space height="5px" />
            <hbox>
                <space width="5px" />
                <label id="header" value="A header"
                    style="font-weight:bold;font-size:16px;color:#525252" />
            </hbox>
            <space height="5px" />
        </vbox>

        <groupbox mold="3d">
            <caption label="General Information"
                style="font-weight:bold">
            </caption>
            <grid>
                <columns>
                    <column label="" width="20%" valign="top" />
                    <column label="" width="80%" valign="top" />
                </columns>
                <rows>
                    <row style="background: white;border:none">
                        <label value="Name" />
                        <textbox id="nameText" width="350px" ></textbox>
                    </row>

                </rows>
            </grid>
        </groupbox>

        <space height="5px" />

        <groupbox mold="3d">
            <tabbox id="editorTabbox">
                <tabs>
                    <tab label="A" />
                    <tab label="M" />
                </tabs>
                <tabpanels>
                    <tabpanel >

                        <listbox >
                            <listhead sizable="true">
                                <listheader label="Name"
                                    sort="auto(name)" sortDirection="descending" />
                                <listheader label="Description" />
                            </listhead>
                            <listitem >
                                <listcell label="n1" />
                                <listcell label="d1" />
                            </listitem>
                            <listitem >
                                <listcell label="n2" />
                                <listcell label="d2" />
                            </listitem>
                        </listbox>
                    </tabpanel>
                    <tabpanel id="mtp" >
                        <vbox id="modulesTabpanelVbox" spacing="2" width="99%">
                        <listbox >
                            <listhead sizable="true">
                                <listheader label="Name"
                                    sort="auto(name)" sortDirection="descending" hflex="min"/>
                                <listheader label="Description Description Description Description Description Description" hflex="min" />
                                <listheader label="Description Description Description Description Description" hflex="min" />
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                            </listhead>
                            <listitem >
                                <listcell label="n1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                            </listitem>
                            <listitem >
                                <listcell label="n2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                            </listitem>
                        </listbox>
                        <listbox >
                            <listhead sizable="true">
                                <listheader label="Name"
                                    sort="auto(name)" sortDirection="descending" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description Description Description Description Description" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description Description Description Description" hflex="min"/>
                            </listhead>
                            <listitem >
                                <listcell label="n1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                            </listitem>
                            <listitem >
                                <listcell label="n2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                            </listitem>
                        </listbox>
                        </vbox>
                    </tabpanel>
                </tabpanels>
            </tabbox>


        </groupbox>
    </window>
</zk>

Ради длины примера я добавил только несколько столбцов, пожалуйста, сделайте окно браузера суженным, чтобы увидеть проблему, а затем перезагрузите страницу.

(правка: я добавил sizable = true в заголовок списка, теперь вы можете заставить горизонтальную полосу прокрутки появляться, делая столбец шире. Кроме того, полосу прокрутки можно заставить отображаться только при наличии двух вкладок.)

Справочная информация: я нашел некоторые вопросы, которые могут идти в том же направлении, но решения для моей проблемы я не нашел.Остерегайтесь того, что я не хочу добавлять 'overflow: auto; "к панели вкладок - это разрушает для меня использование Tabpanel. Фактически у меня есть внешняя панель вкладок вокруг этого кода, и мне нужно было бы добавить туда полосу прокрутки, которая делает все панели вкладокрасти полосы прокрутки ... и полоса прокрутки даже не находится в нижней части пространства вкладки. Извините, если это запутано, если вы выложили такие вещи, у вас, вероятно, есть идея. Кроме того, я не хочу фиксированных размеров, конечно.

О sidenote: уменьшение окна (браузера) не сужает список - увеличение это не проблема. Что-то здесь!

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2012

Это, вероятно, решит вашу проблему, я добавил DIV перед VBOX, вы можете заметить это ниже

<tabpanel id="mtp" >    <--------## your 2nd panel ###
                        <div style="overflow:auto;position:relative">  <--change###
                        <vbox id="modulesTabpanelVbox" spacing="2" width="99%">

                        <listbox >
                            <listhead sizable="true">
                                <listheader label="Name"
                                    sort="auto(name)" sortDirection="descending" hflex="min"/>
                                <listheader label="Description Description Description Description Description Description" hflex="min" />
                                <listheader label="Description Description Description Description Description" hflex="min" />
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                            </listhead>
                            <listitem >
                                <listcell label="n1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                            </listitem>
                            <listitem >
                                <listcell label="n2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                            </listitem>
                        </listbox>
                        <listbox >
                            <listhead sizable="true">
                                <listheader label="Name"
                                    sort="auto(name)" sortDirection="descending" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description Description Description Description Description" hflex="min"/>
                                <listheader label="Description" hflex="min"/>
                                <listheader label="Description Description Description Description" hflex="min"/>
                            </listhead>
                            <listitem >
                                <listcell label="n1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                                <listcell label="d1" />
                            </listitem>
                            <listitem >
                                <listcell label="n2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                                <listcell label="d2" />
                            </listitem>
                        </listbox>
                        </vbox>
                        </div>    <----- change
                    </tabpanel>

привет, Аман

...