【问题标题】:How do I add a combo box to a DataGrid?如何将组合框添加到 DataGrid?
【发布时间】:2011-02-03 04:54:37
【问题描述】:

我想将 ComboBox 添加到 DataGrid。到目前为止,我发现的唯一方法是这样的:

<mx:DataGridColumn headerText="Header" dataField="src" >
<mx:itemRenderer>
<mx:Component>
<mx:ComboBox dataProvider="{data.srcChoices}" />
</mx:Component>                                             
</mx:itemRenderer>
</mx:DataGridColumn>

问题是 ComboBox 的初始值设置不正确。如果我对选择进行硬编码,则初始值设置正确。我无法对选择进行硬编码。知道我应该怎么做吗?

【问题讨论】:

    标签: apache-flex datagrid flex3 combobox


    【解决方案1】:

    1) 您可以向组合框添加内容并将“selectedItem”值设置为适当的索引。

    <mx:ComboBox dataProvider="{data.srcChoices}" selectedindex="2" />
    

    2) 你可以给你的组合框一个 ID,然后在脚本中选择带有 ID.selectedIndex 的项目

    ID.selectedIndex = 2;
    

    【讨论】:

      【解决方案2】:

      您可能希望根据值对象中的变量设置初始值,而不是幻数。为此,您必须执行以下操作:

      selectedIndex="{(outerDocument as WorkHist).findItemIndexOccupation(data.Occupation)}" dataProvider="{outerDocument.occData}"
      

      WorkHist 是 Canvas,或者 DG 所在的任何组件。

      public function findItemIndexOccupation(data:String):int {
          for (var i:int = 0; i < occData.length; i++) {
              if (occData.getItemAt(i).POSITION == data) {
                  return i;
              }
          }
          return -1;
      }
      

      【讨论】:

        猜你喜欢
        • 2011-02-24
        • 1970-01-01
        • 1970-01-01
        • 2012-03-04
        • 2014-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多