свойство datagrid и minHeight - PullRequest
       1

свойство datagrid и minHeight

2 голосов
/ 26 января 2011

Я озадачен тем, что, как я полагаю, должно быть тривиальной проблемой. У меня есть панель, которая содержит сетку данных (ожидается, что она заполнит большинство объектов недвижимости), а также несколько кнопок и текстовых полей, прикрепленных к нижнему краю панели. Это классическая комбинация данных + поиск. Что я застрял, так это то, что хотя сетка данных очень хорошо вырастет в большой «видовой экран», после того, как я уменьшу ее примерно до 600 пикселей или около того, высота сетки данных перестает уменьшаться, выталкивая закрепленный снизу контент за пределы экрана , Я играл с различными настройками minHeight, и в то время как большие настройки работают (также, что любопытно, накладывая нижний закрепленный материал туда, где он есть, а не за кадром). меньшие настройки, по-видимому, по какой-то причине игнорируются или перезаписываются.

Похоже, что мне нужно сделать какую-то другую настройку, но я часами возился с этим и надеюсь, что кто-то из вас точно знает, в чем проблема. Моя проблема сейчас в том, что я не знаю, что еще попробовать!

Вот несколько скриншотов, во-первых, предварительный просмотр дизайна, во-вторых, рендеринг браузера. Вы можете видеть, как обрезается нижний ряд кнопок, и, если я уменьшу окно еще больше, я также обрежу части сетки данных.

The 'design' preview the browser rendering

Спасибо!

РЕДАКТИРОВАТЬ: вот код моего тестового приложения, где все поведение такое, каким оно должно быть ... и иерархия точно имитирует то, что происходит в моем тестовом приложении (копировать / вставлять непосредственно из).

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">


<fx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;

        [Bindable]private var _data:ArrayCollection;
    ]]>
</fx:Script>

<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>




<s:Group  width="100%" height="100%">   

    <s:BorderContainer  width="100%" height="100%"
                        backgroundColor="silver"
                        cornerRadius="8"
                        borderStyle="inset" borderWeight="1"
                        >

        <!--Main application viewstack-->
        <mx:ViewStack  width="100%" height="100%" >



            <s:NavigatorContent width="100%" height="100%">

                <!--sub-application viewstack-->
                <s:Group width="100%" height="100%">

                    <mx:ViewStack id="vs" width="100%" height="100%" x="0" y="0"  >


                        <s:NavigatorContent width="100%" height="100%">
                            <s:Group width="100%" height="100%">



                                <s:Panel 
                                    minHeight="170"
                                    title="Order Entry—Customer    [Search for existing contacts...]" height="100%" width="100%">

                                    <s:Scroller width="100%" height="100%">
                                        <s:Group clipAndEnableScrolling="true">

                                            <mx:DataGrid 
                                                id="dgSelect" 
                                                dataProvider="{_data}" 
                                                sortableColumns="false" resizableColumns="true"  draggableColumns="false"
                                                doubleClickEnabled="true" 
                                                allowMultipleSelection="false" 
                                                minHeight="68"
                                                top="4" bottom="70" left="4" right="4">
                                                <mx:columns>
                                                    <mx:DataGridColumn headerText="Last Name" dataField="LName" width="100" />
                                                    <mx:DataGridColumn headerText="First Name" dataField="FName"  width="100" />
                                                    <mx:DataGridColumn headerText="Address" dataField="Address1"  width="250" />
                                                    <mx:DataGridColumn headerText="City" dataField="City"  width="100" />
                                                    <mx:DataGridColumn headerText="State" dataField="State" width="50" />
                                                    <mx:DataGridColumn headerText="Zip" dataField="Zip"  width="50" />
                                                    <mx:DataGridColumn headerText="Email" dataField="EMail" />
                                                </mx:columns>
                                            </mx:DataGrid>

                                            <s:Group bottom="40" left="4" width="100%" height="21">
                                                <s:Label text="Last"  width="41" height="22" verticalAlign="middle"/>
                                                <s:TextInput id="txtSearchLast" maxChars="9"  width="100" left="41"/>

                                                <s:Label text="First"  width="36" verticalAlign="middle" left="185" height="21"/>
                                                <s:TextInput id="txtSearchFirst" maxChars="9" width="100" left="220"/>

                                                <s:Label id="lblSearchError" color="#FF0000" fontSize="10" left="336" right="158"/>
                                                <mx:Spacer width="100%"/>
                                                <s:Button id="btnSearchSelect" label="Select"  right="80"/>
                                                <s:Button id="btnSearchEdit"   label="Edit"    right="4"/>

                                            </s:Group>




                                            <s:Group bottom="10" height="21">
                                                <s:layout >
                                                    <s:HorizontalLayout paddingLeft="10" paddingRight="10"/>
                                                </s:layout>

                                                <mx:Button id="btnCancel"  label="Cancel" />    
                                                <mx:Spacer/>
                                                <mx:Button id="btnStartOver"  label="Start Over" />
                                                <mx:Spacer/>
                                                <mx:Button id="btnExpressContact"  label="Express Contact"/>
                                                <mx:Button id="btnExpressCart" label="Ω" />
                                                <mx:Spacer/>
                                                <mx:Button  id="btnCustomerNew"   label="New Customer"      />  
                                                <mx:Spacer/>                    
                                                <mx:Button id="btnNext"   label="Next"     />

                                            </s:Group>

                                        </s:Group>
                                    </s:Scroller>


                                </s:Panel>
                            </s:Group>
                        </s:NavigatorContent> 

                    </mx:ViewStack> 
                </s:Group>
            </s:NavigatorContent> 

        </mx:ViewStack>





    </s:BorderContainer>
</s:Group>

</s:Application>

1 Ответ

0 голосов
/ 26 января 2011

Я думаю, немного кода поможет. Как вы реализуете свой видовой экран? Где вы устанавливаете свой скроллер. Что такое макет недвижимости и т. Д.

Как я понимаю, вы пишете приложение с компонентами flex4 и spark, верно?

Вы должны определить скроллер (область просмотра) в вашем приложении для полос прокрутки. Компоненты Spark не имеют автоматических полос прокрутки, таких как компоненты Halo.

Одной из нескольких возможностей является определение скина для приложения. В этом скине закодируйте скроллер вокруг группы содержимого. После этого установите для свойств высоты и ширины значение 100%.

возможно, это поможет без кода

увидимся Frank

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...