2010-11-03 118 views
1

我正在寻找Adobe Flex的类PropertyGrid控件,或者可能是最简单的创建方法。除了正常的属性网格外,它应该做的主要两件事是显示类别并使用不同类型的编辑器控件来编辑一列中的数据。Adob​​e Flex中的PropertyGrid?

所以基本上我正在寻找一个控件来编辑键/值对,分为不同的类别,不同类型的编辑器控件用于不同的键/行。

我发现正是我想要在这里:http://www.cnblogs.com/janyou/archive/2009/07/28/1532919.html

虽然该页面是中国,没有源代码或者该组件是从哪里来的,等我的记录也无法找到任何其他解决方案网络(虽然也许我的搜索条件不正确,因为我不完全知道如何搜索它)。

回答

-1

当然,这只是一个List控件,您的项目渲染器根据任何数据实例化正确的控件......即,如果数据是数组,则显示在组合框中,如果它是数字显示在步进器中,如果其文本显示在TextInput中。

这应该很容易实现。

+0

列表或数据网格?另外,如何制作类别?我不明白这是List控件的标准行为。 – pbean 2010-11-03 19:15:43

+0

列表。如果你看一下Alex Harui过去所做的一些事情,我认为它是可行的。它真的只是一个不同的项目渲染器。 – 2010-11-04 07:54:08

0

我一直在使用一个DataGrid有两列做到了,并且这种方法工作得很好,我:

   <mx:columns> 
        <mx:DataGridColumn dataField="parameter" width="110" resizable="false"> 
         <mx:itemRenderer> 
          <mx:Component> 
           <mx:Label truncateToFit="true" fontWeight="bold" /> 
          </mx:Component> 
         </mx:itemRenderer> 
        </mx:DataGridColumn> 
        <mx:DataGridColumn dataField="value"> 
         <mx:itemRenderer> 
          <mx:Component> 
           <mx:HBox width="100%" height="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off" 
            currentState="{(data.parameterType) == 'bool' ? 'checkboxState' : 'baseState'}"> 
            <mx:states> 
             <mx:State name="baseState"> 
              <mx:AddChild> 
               <mx:Label truncateToFit="true" text="{data.value}" paddingLeft="2" /> 
              </mx:AddChild> 
             </mx:State> 
             <mx:State name="chbState"> 
              <mx:AddChild> 
               <mx:CheckBox selected="{data.value &amp;&amp; parseInt(data.value)}" paddingLeft="5" /> 
              </mx:AddChild> 
             </mx:State> 
            </mx:states> 
           </mx:HBox> 
          </mx:Component> 
         </mx:itemRenderer> 
        </mx:DataGridColumn> 
       </mx:columns>