2011-01-26 3 views
2

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

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

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

The 'design' preview the browser rendering

Спасибо!

EDIT: вот код для моего тестового приложения, где все поведение - это то, что должно быть ... и иерархия точно имитирует происходящее в моем тестовом приложении (копирование/вставка непосредственно с).

<?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> 

ответ

0

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

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

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

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

может быть, это поможет без кода

видеть вас Frank

+0

по видовом, я имею в виду только ту часть окна браузера, вы смотрите через. Извините, что запутался. – reidLinden

+0

Насколько я понял, я попытаюсь воссоздать в настройке, которая не полностью сглажена в других деталях, просто ограничивая биты ui, без кода, связанного с поиском по базе данных. – reidLinden

+0

нет кости на код. Я скопировал свою панель в новое приложение, удалил события ui из кнопок, datagrid и т. Д., И сложенная вещь работает точно так, как я думаю. Есть кое-что еще в том, как у меня есть вещи, вложенные перед панелью (компонент viewstack и некоторые другие группы), которые должны вызывать проблему. – reidLinden

Смежные вопросы