2015-12-22 3 views
1

Я пытаюсь использовать ComboBox как itemEditor в AdvancedDatagrid. И сетка, и comboBox правильно заполняются значениями. Но когда я щелкаю по ячейке, значение исчезает. Нужно ли устанавливать дополнительные свойства для выполнения этой работы или мне нужно написать собственный элемент itemEditor, который копирует значение в элемент ItemEditor и из него?AdvancedDatagrid с itemEditor: Значение исчезает при нажатии

Полный код:

<?xml version="1.0"?> 
<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" 
       initialize="initCB();"> 

<fx:Script> 
    <![CDATA[ 
     import mx.collections.*; 
     [Bindable] public var stateArray:ArrayCollection; 

     public function initCB():void { 
      stateArray=new ArrayCollection([{label:"AL", data:"Montgomery"}, 
             {label:"AK", data:"Juneau"}, 
             {label:"AR", data:"Little Rock"}]); 
     } 

     [Bindable] public var initDG:ArrayCollection = new ArrayCollection([{etikett:'NY', tekst:"New York"}, {etikett:'CA', tekst:"Los Angeles"}]); 
    ]]> 
</fx:Script>  


<mx:AdvancedDataGrid id="gridIntMapping" y="24" left="10" right="605" height="166" editable="true" dataProvider="{initDG}"> 
    <mx:columns> 
      <mx:AdvancedDataGridColumn width="130" dataField="etikett" headerText="Skjema referanse" editorDataField="text"> 
       <mx:itemEditor> 
        <fx:Component>     
         <mx:ComboBox editable="true" dataProvider="{outerDocument.stateArray}" labelField="label"/> 
        </fx:Component> 
       </mx:itemEditor> 
      </mx:AdvancedDataGridColumn> 
    </mx:columns> 
</mx:AdvancedDataGrid> 

ответ

0

Набор data.etikett для COMBOBOX текста. например:

<mx:ComboBox editable="true" dataProvider="{outerDocument.stateArray}" labelField="label" text="{data.etikett}" /> 

Отображается текст, когда вы нажимаете.

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