尝试验证数据网格中的输入,我正在使用一个函数(取自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.
我想这些命名空间有些混乱,但我不知道如何使这个工作 救命!
由于
答案 0 :(得分:0)
我无法使用给定的代码重现错误。我的工作正常。请将allowForEdit(event)
的代码发送给我。
您使用的是哪个SDK版本? 什么是根应用程序命名空间?请粘贴整个应用程序命名空间。