Выберите элемент в раскрывающемся списке формы сведений, когда выбран элемент сетки данных

У меня есть эта сетка данных:

<mx:DataGrid id="dgCompetenteN" includeIn="Test" left="10" right="472" top="69" bottom="149"
             dataProvider="{colCompetente}" editable="false">
    <mx:columns>
        <mx:DataGridColumn headerText="ID Competență" dataField="idCompetenta"/>
        <mx:DataGridColumn headerText="Denumire Competență" dataField="denCompetenta"/>
        <mx:DataGridColumn headerText="Competență Superioară" dataField="idCompSuperioara" rendererIsEditor="true" editorDataField="idCompSuperioara" itemRenderer="renderers.CompetentaSuperioara"/>
    </mx:columns>
</mx:DataGrid>

и эта форма:

<s:Form includeIn="Test" x="536" y="69">
    <s:FormItem label="Denumire competenta">
        <s:helpContent>
            <s:Label text="Help String"></s:Label>
        </s:helpContent>
        <s:TextInput text="{dgCompetenteN.selectedItem.denCompetenta}"/>
    </s:FormItem>
    <s:FormItem label="Competenta superioara">
        <s:helpContent>
            <s:Label text="Help String"></s:Label>
        </s:helpContent>
        <s:DropDownList dataProvider="{colCompetente}" 
                        labelField="denCompetenta">
        </s:DropDownList>
    </s:FormItem>
</s:Form>

Что я хочу сделать, так это то, что когда я выбираю элемент в сетке данных, выбранный элемент раскрывающегося списка должен быть правильным (тот, у которого поле idCompSuperioara равно третьему элементу в выбранной строке сетки данных).

Любые идеи?

Спасибо.


person cili    schedule 15.02.2011    source источник


Ответы (1)


Попробуйте что-нибудь в этом духе:

Обработчик itemClickHandler:

protected function dgCompetenteN_itemClickHandler(event:ListEvent):void
{
  for each (var o:Object in colCompetente)
  {
    if (o.idCompSuperioara == dgCompetenteN.selectedItem.idCompSuperioara)
    {
      ddlCompetenta.selectedItem = o;
      break;
    }
  }
}

Сетка данных:

<mx:DataGrid id="dgCompetenteN" includeIn="Test" left="10" right="472" top="69" bottom="149" dataProvider="{colCompetente}" editable="false" itemClick="dgCompetenteN_itemClickHandler(event)">
  <mx:columns>
        <mx:DataGridColumn headerText="ID Competență" dataField="idCompetenta"/>
        <mx:DataGridColumn headerText="Denumire Competență" dataField="denCompetenta"/>
        <mx:DataGridColumn headerText="Competență Superioară" dataField="idCompSuperioara" rendererIsEditor="true" editorDataField="idCompSuperioara" itemRenderer="renderers.CompetentaSuperioara"/>
    </mx:columns>
</mx:DataGrid>

Форма:

<s:Form includeIn="Test" x="536" y="69">
    <s:FormItem label="Denumire competenta">
        <s:helpContent>
            <s:Label text="Help String"></s:Label>
        </s:helpContent>
        <s:TextInput text="{dgCompetenteN.selectedItem.denCompetenta}"/>
    </s:FormItem>
    <s:FormItem label="Competenta superioara">
        <s:helpContent>
            <s:Label text="Help String"></s:Label>
        </s:helpContent>
        <s:DropDownList id="ddlCompetenta" dataProvider="{colCompetente}" 
                        labelField="denCompetenta">
        </s:DropDownList>
    </s:FormItem>
</s:Form>
person Jason Towne    schedule 15.02.2011
comment
Спасибо, Джейсон! Отлично работает с этим условием: if (parseInt(o.idCompetenta) == parseInt(dgCompetente.selectedItem.idCompSuperioara)) - person cili; 19.02.2011