flex解决datagrid加入itemrender重绘的问题目

在datagrid中通过itemrenderer加入combobox时,如果拖拽滚动块,会出现表格的下拉列表重绘的问题,表现的现象就是下拉列表的内容上窜下跳。解决的办法是重载 set data方法。

示例代码如下:

<mx:DataGridColumn dataField="unit" headerText="单位" width="55" editable="false">
<mx:itemRenderer>
  <mx:Component>
   <mx:ComboBox labelField="unitName" dataProvider="{outerDocument.unitResult}"
    change="outerDocument.onChange(event,'unit');
    this.data.arrivalIndex=ComboBox(event.currentTarget).selectedIndex">
    <mx:Script>
    <![CDATA[
      override public function set data(value:Object):void
      {
         super.data=value;
         for each (var item:Object in dataProvider)
         {
             if (item.unitName == super.data.unitName)
             {
                selectedItem=item;
                return;
              }
          }
       }
      ]]>
    </mx:Script>
    </mx:ComboBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>

你可能感兴趣的:(datagrid)