Я предполагаю, что field_2 в table1 содержит ключ к строке в таблице 2.
Настройте свою сетку данных для использования table1 в качестве поставщика. Убедитесь, что во втором столбце используется пользовательский рендер со списком
<mx:AdvancedDataGrid dataProvider="{table1}">
<mx:groupedColumns>
<mx:AdvancedDataGridColumn headerText="Column 1" dataField="field_1" />
<mx:AdvancedDataGridColumn headerText="Column 2" dataField="field_2"
itemRenderer="{CustomRenderer}"/>
</mx:groupedColumns>
</mx:AdvancedDataGrid>
Рендерер - это просто холст с комбо-боксом внутри. В выпадающем списке используется копия данных таблицы 2 (просто создайте коллекцию массивов и заполните ее один раз данными из базы данных) в качестве поставщика и используйте данные таблицы 1 для отображения выбранного элемента.
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" dataChange="dataChange()>
<mx:Script>
<![CDATA[
private function dataChange():void
{
//Update combobox selected index
myCombo.selectedIndex(data);
}
]]>
</mx:Script>
<mx:ComboBox id="myCombo" dataProvider="{table2_copy}"\>
</mx:Canvas>