TypeError: Error #1034: 强制转换类型失败:无法将 mx.controls::DataGrid@9a7c0a1 转换为 spark.core.IViewport。

1、错误描述

TypeError: Error #1034: 强制转换类型失败:无法将 mx.controls::DataGrid@9aa90a1 转换为 spark.core.IViewport。
	at mx.binding::Binding/defaultDestFunc()[E:dev4.0.0frameworksprojectsframeworksrcmxindingBinding.as:270]
	at Function/http://adobe.com/AS3/2006/builtin::call()
	at mx.binding::Binding/innerExecute()[E:dev4.0.0frameworksprojectsframeworksrcmxindingBinding.as:475]
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at mx.binding::Binding/wrapFunctionCall()[E:dev4.0.0frameworksprojectsframeworksrcmxindingBinding.as:385]
	at mx.binding::Binding/execute()[E:dev4.0.0frameworksprojectsframeworksrcmxindingBinding.as:321]
	at mx.binding::BindingManager$/executeBindings()[E:dev4.0.0frameworksprojectsframeworksrcmxindingBindingManager.as:153]
	at mx.core::UIComponent/executeBindings()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:10691]
	at mx.core::Container/createComponentFromDescriptor()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreContainer.as:4373]
	at mx.core::Container/createComponentsFromDescriptors()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreContainer.as:4160]
	at mx.core::Container/createChildren()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreContainer.as:3187]
	at mx.core::UIComponent/initialize()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:7250]
	at mx.core::Container/initialize()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreContainer.as:3129]
	at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:7142]
	at mx.core::UIComponent/addChildAt()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:6848]
	at spark.components::Group/addDisplayObjectToDisplayList()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsGroup.as:1825]
	at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsGroup.as:1416]
	at spark.components::Group/setMXMLContent()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsGroup.as:512]
	at spark.components::Group/set mxmlContent()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsGroup.as:452]
	at spark.components::SkinnableContainer/set mxmlContent()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsSkinnableContainer.as:604]
	at spark.components::SkinnableContainer/createDeferredContent()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsSkinnableContainer.as:986]
	at spark.components::SkinnableContainer/createContentIfNeeded()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsSkinnableContainer.as:1014]
	at spark.components::SkinnableContainer/createChildren()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsSkinnableContainer.as:827]
	at mx.core::UIComponent/initialize()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:7250]
	at spark.components::Application/initialize()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsApplication.as:916]
	at Table/initialize()
	at mx.managers.systemClasses::ChildManager/childAdded()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagerssystemClassesChildManager.as:189]
	at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagerssystemClassesChildManager.as:341]
	at mx.managers::SystemManager/initializeTopLevelWindow()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersSystemManager.as:2810]
	at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersSystemManager.as:2637]
	at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersSystemManager.as:2539]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.preloaders::Preloader/timerHandler()[E:dev4.0.0frameworksprojectsframeworksrcmxpreloadersPreloader.as:515]
	at flash.utils::Timer/_timerDispatch()
	at flash.utils::Timer/tick()

2、错误原因

/**
 * 刷新按钮函数
 */
protected function refresh_clickHandler(event:MouseEvent):void
{
	var hx:Number = hsb.x;
	var hy:Number = hsb.y;
				
	//var dx:Number = dataGrid.contentMouseX;
	//var dy:Number = dataGrid.contentMouseY;
	//Alert.show("hx:"+hx+"
"+"hy: "+hy + "
" + "dx: " + dx + "
" + "dy: " + dy);
	Alert.show("hx:"+hx+"
"+"hy: "+hy);
}

<s:HScrollBar />

    类型转化异常


3、解决办法