2015-03-12 2 views
0

я написал следующее:Может ли любой орган помочь мне со связыванием в flex?

<mx:DataGrid id="courseslist" includeIn="Classes,Dorat,LogIn,Main,Students,Teachers" 
          x="11" y="160" width="1142" height="240" 
          creationComplete="courseslist_creationCompleteHandler(event)" 
          editable="true" itemClick="courseslist_itemClickHandler(event)" 
          showHeaders="false" textAlign="right">       
        <mx:columns> 
         <mx:DataGridColumn dataField="category" width="90" editable="true" editorDataField="selectedItem" activate="datagridcolumn1_activateHandler(event)" itemEditor="{inlineEditor}"> 
         </mx:DataGridColumn> 
         <mx:DataGridColumn id="combostaff" dataField="teacher" width="170" editable="true" editorDataField="selectedItem"> 
          <mx:itemEditor> 
           <fx:Component> 
            <mx:ComboBox dataProvider="{parentDocument.staffnames}"> 
            </mx:ComboBox> 
           </fx:Component> 
          </mx:itemEditor> 

         </mx:DataGridColumn> 
         <mx:DataGridColumn dataField="maxno" width="79"/> 
         <mx:DataGridColumn dataField="regno"/> 
         <mx:DataGridColumn dataField="minno"/> 
         <mx:DataGridColumn dataField="startdate" width="120" 
              itemRenderer="mx.controls.DateField" 
              rendererIsEditor="true" 
              editorDataField="selectedDate" /> 
         <mx:DataGridColumn dataField="coursecreation" editable="false"/> 
         <mx:DataGridColumn dataField="enddate" width="120" 
              itemRenderer="mx.controls.DateField" 
              rendererIsEditor="true" 
              editorDataField="selectedDate"/> 
         <mx:DataGridColumn dataField="cost" /> 

         <mx:DataGridColumn dataField="coursename" /> 
        </mx:columns> 
       </mx:DataGrid> 

и staffnames является:

public var staffnames:Array = new Array(); 

, который получает свое значение от службы:

public function getAllStaff_resultHandler(event:ResultEvent):void 
      { 
       tutortable.dataProvider=getAllStaff.lastResult; 
       staffnames = new Array(); 
       for each (var i:Staff in getAllStaff.lastResult) 
       { 
        staffnames.push(i.name); 
        staff.push(i); 

       } 

      } 

пока я не получаю выпадающие заполнен также staffnames заполняется данными, вместо этого я получаю эту ошибку: предупреждение: не удалось привязать свойство «staffnames» к классу «spark.skins.wireframe :: Application Кожа '

+0

Добавьте тег '[Bindable]' перед объявлением переменной для staffnames. – Karmacon

+0

сделал это, и это не сработало –

ответ

0

Использовать outerDocument.staffnames в dataprovider, как показано ниже.

Сделать Привязываемый массив как:

[Bindable] 
public var staffnames:Array; 

Дайте DataProvider как:

<fx:Component> 
    <mx:ComboBox dataProvider="{outerDocument.staffnames}"> 
     </mx:ComboBox> 
</fx:Component> 

значение Услуги:

public function getAllStaff_resultHandler(event:ResultEvent):void 
      { 
       tutortable.dataProvider=getAllStaff.lastResult; 
       staffnames = new Array(); 
       for each (var i:Staff in getAllStaff.lastResult) 
       { 
        staffnames.push(i.name); 
        staff.push(i); 

       } 
      } 

Надеется, что это работает.

+0

работал как шарм! –

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