我们在项目中使用Flex 4。这是一个要求。我们有一个AdvancedDataGrid控件,包含一些行和列。有一个产品专栏。因为产品的数量更多,我们希望它显示在textArea中。我们有一个产品列的渲染器。点击“产品”列后,应该在点击的列上方显示此文本区域。
我在ProductsRenderer.mxml中尝试了以下代码。这里的x和y是任意的。当我单击列时,我无法看到任何文本区域。
<fx:Declarations>
<parsley:Configure/>
</fx:Declarations>
<fx:Script>
protected function clickHandler(event:MouseEvent):void
{
var textArea:TextArea = new TextArea();
textArea.height = 40;
textArea.width = 50;
textArea.x = //get x for TextArea;
textArea.y = //get y for TextArea;
textArea.visible = true;
textArea.setFocus();
textArea.text = fProducts;
}
]]>
</fx:Script>
<s:VGroup id="Box"
paddingBottom="0"
paddingTop="5"
horizontalAlign="left" height="100%">
<s:Label id="productsData" top="0" left="0" right="0" bottom="0" width="100%" click="clickHandler(event)"/>
</s:VGroup>
这里应该做什么才能让网格上显示文本区域?感谢
答案 0 :(得分:0)
您没有将textArea添加到任何父容器。做类似的事情:
protected function clickHandler(event:MouseEvent):void
{
var textArea:TextArea = new TextArea();
textArea.height = 40;
textArea.width = 50;
textArea.x = //get x for TextArea;
textArea.y = //get y for TextArea;
textArea.visible = true;
FlexGlobals.topLevelApplication.addChild(textArea); //this could be something else, showing an example here.
textArea.setFocus();
textArea.text = fProducts;
}