0


0

カスタムレンダラーを備えたmx:Treeのスクローラーをスクロールするとエラーが発生する

mx:Treeコンポーネントのカスタムマルチラインアイテムレンダラーを作成しました。 アイテムレンダラーには2つのUITextFieldが含まれていることに注意してください。 時々(入力データに応じて)UITextFieldの1つのみを表示する必要があるため、2番目のUITextFieldが不要な場合は非表示にし、アイテムレンダラーの高さを再計算します。 私のテストによると、高さは適切に計算されます。

この問題は、ツリーをスクロールするときに発生します。 エラーテキストは次のとおりです。

TypeError: Error #1010: A term is undefined and has no properties.
 at mx.controls::List/adjustVerticalScrollPositionDownward()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\List.as:1042]
 at mx.controls::List/configureScrollBars()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\List.as:987]
 at mx.controls.listClasses::ListBase/updateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:4394]
 at mx.controls::List/updateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\List.as:1136]
 at mx.controls::Tree/updateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\Tree.as:1203]
 at mx.controls.listClasses::ListBase/validateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:3962]
 at mx.managers::LayoutManager/validateDisplayList()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:663]
 at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:736]
 at mx.managers::LayoutManager/validateNow()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:795]
 at spark.components::Application/resizeHandler()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\Application.as:1215]
 at spark.components::Application/commitProperties()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\Application.as:938]
 at mx.core::UIComponent/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7772]
 at mx.managers::LayoutManager/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:572]
 at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:730]
 at mx.managers::LayoutManager/validateNow()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:795]
 at spark.components::Application/resizeHandler()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\Application.as:1215]
 at flash.events::EventDispatcher/dispatchEventFunction()
 at flash.events::EventDispatcher/dispatchEvent()
 at mx.managers::SystemManager/Stage_resizeHandler()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2971]

_protected override function measure()_を使用して各アイテムの高さを再計算します。 これを修正するには?

1 Answer


0


3.2.0以降のすべてのバージョンでFlex SDKの問題です。 これが私のhttp://kachurovskiy.com/2010/spark-tree/[Spark Tree component]です。

追伸:MXリストとツリーには多くのバグがあります。 Spark Listには1つまであります :)