Пытаясь проверить ввод в моей сетке данных, я использую функцию (взято из примера Adobe).
Вот как выглядит сетка:
<mx:DataGrid id="CashGrid" dataProvider="{cash}" editable="true" itemEditBeginning="allowForEdit(event)" itemEditEnd="formatData(event);" sortableColumns="false">
<mx:columns>
<mx:DataGridColumn textAlign="left" dataField="curName" headerText="Currency" />
<mx:DataGridColumn textAlign="right" dataField="value" headerText="Value" width="150">
</mx:columns>
</mx:DataGrid>
А вот и функция из части AS
public function formatData(event:DataGridEvent):void
{
if (event.reason == DataGridEventReason.CANCELLED)
{
// Do not update cell.
return;
}
var newData:String= TextInput(event.currentTarget.itemEditorInstance).text;
// Determine if the new value is an empty String.
if(newData == "")
{
event.preventDefault();
TextInput(cashGrid.itemEditorInstance).errorString=
"Enter a valid string.";
return;
}
}
Хотя это работает в исходном примере, в моем примере, при редактировании указанной сетки, всплывает сообщение об ошибке
TypeError: Error #1034: Type Coercion failed: cannot convert mx.controls::TextInput@f093c29 to spark.components.TextInput.
Пытаясь
import mx.controls.TextInput;
говорит мне
Can not resolve a multiname reference unambiguously. spark.components.TextInput.
Полагаю, есть некоторая путаница с пространствами имен, но я понятия не имею, как заставить это работать.
Помогите!
Спасибо