Adobe Flex:尝试验证数据网格输入时出现错误#1034



尝试验证数据网格中的输入,我使用了一个函数(取自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.

我猜名称空间有些混乱,但我不知道如何使其工作。
的帮助!

谢谢

我无法用给定的代码重现错误。我这边工作得很好。请把allowForEdit(event)的代码也发给我。

您使用的是哪个SDK版本?根应用程序名称空间是什么?请粘贴整个应用程序名称空间

相关内容

  • 没有找到相关文章

最新更新