Flex 3 - 动态列DataGrid、ItemRenderer、TextInput,如何设置属性“text”?

发布于 2024-10-11 12:27:15 字数 369 浏览 1 评论 0原文

案例如下(Flex 3):
我有一个

  • 具有动态列数的 DataGrid;
  • 每个单元格作为一个 ItemRender;
  • 每个ItemRenderer作为一个TextInput;

如果列数保持相等,则项目渲染中 textInput 的属性文本将为 .
但我有一个动态数量的columnName!
因此我无法访问 text="{data."different columName"}"
有什么帮助吗?

此致

Here is the case (Flex 3):
I have a,

  • DataGrid with dynamic number of columns;
  • Each cell as a ItemRender;
  • Each ItemRenderer as a TextInput;

If the number of columns stayed equal then the property text of the textInput in the item render, would be <mx:textInput id="ti" text="{data.ColumName}"/>.
But i have a dynamic number of columnName!
Therefore i can´t acess text="{data."diferent columName"}" !
Any help??

Best Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不再见 2024-10-18 12:27:15

我找到了访问不同列名称的正确方法,以便访问数据提供程序!
Itemrender mxml:

<mx:TextInput width="100%" height="100%" click="cellClickHandler(event)" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
        <![CDATA[
            import mx.controls.dataGridClasses.DataGridListData;
            import mx.controls.listClasses.ListData;

            override public function set data(value:Object):void
            {
                if(value != null)
                {
                    super.data = value;
                    var dglistData:DataGridListData = listData as DataGridListData;
                    this.text = value[dglistData.dataField];
                }
            } 

            public function cellClickHandler(e:Event)
            {

            }
    ]]>
    </mx:Script>
</mx:TextInput> 

I've found the correct way to access the diferent columns names, in order to acess the dataprovider!
The Itemrender mxml:

<mx:TextInput width="100%" height="100%" click="cellClickHandler(event)" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
        <![CDATA[
            import mx.controls.dataGridClasses.DataGridListData;
            import mx.controls.listClasses.ListData;

            override public function set data(value:Object):void
            {
                if(value != null)
                {
                    super.data = value;
                    var dglistData:DataGridListData = listData as DataGridListData;
                    this.text = value[dglistData.dataField];
                }
            } 

            public function cellClickHandler(e:Event)
            {

            }
    ]]>
    </mx:Script>
</mx:TextInput> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文