【问题标题】:datagrid inline itemrender change dataprovider value数据网格内联项渲染更改数据提供者值
【发布时间】:2012-05-23 00:37:39
【问题描述】:

我使用内联 itemrenderer 创建了一个数据网格。 渲染器是一个下拉列表。 当 dropdowlist 值更改时,我想更新 dataprovider 但我没有找到如何做到这一点。 你能帮帮我吗?

谢谢

[Bindable] private var DP_PRAT_INIT:ArrayCollection;

<s:DataGrid id="dgTuVous" fontWeight="normal" 
                                        dataProvider="{DP_PRAT_INIT}"
                                        width="100%" height="100%" 
                                        horizontalScrollPolicy="on"
                                        fontSize="10"

                                        >
                                <s:columns>
                                    <s:ArrayList>
                                        <s:GridColumn dataField="prInitiales" width="40" headerText="Prat" />
                                        <s:GridColumn  width="75" dataField="prTuVous"
                                                      headerText="Tu/Vous" editable="true">
                                            <s:itemRenderer>
                                                <fx:Component>
                                                    <s:GridItemRenderer>
                                                        <fx:Script>
                                                            <![CDATA[
                                                                import spark.events.IndexChangeEvent;



                                                                protected function ddlTuVous_changeHandler(event:IndexChangeEvent):void
                                                                {

                                                                    DP_PRAT_INIT[ddlTuVous.selectedIndex].prTuVous=ddlTuVous.selectedItem;

                                                                    trace ("ddlTuVous.selectedItem" +ddlTuVous.selectedItem) ;

                                                                }

                                                            ]]>
                                                        </fx:Script>
                                                        <s:DropDownList width="100%" selectedIndex="1" id="ddlTuVous"
                                                                        change="ddlTuVous_changeHandler(event)">
                                                            <s:dataProvider>
                                                                <s:ArrayList>
                                                                    <fx:String>Tu</fx:String>
                                                                    <fx:String>Vous</fx:String>
                                                                </s:ArrayList>
                                                            </s:dataProvider>
                                                        </s:DropDownList>
                                                    </s:GridItemRenderer>
                                                </fx:Component>
                                            </s:itemRenderer>



                                        </s:GridColumn>

                                    </s:ArrayList>
                                </s:columns>
                            </s:DataGrid>

【问题讨论】:

标签: actionscript-3 apache-flex flash-builder mxml


【解决方案1】:

您使用outerDocument 属性引用宿主控件...所以如果您想访问该数组,您可以调用outerDocument.DP_PRAT_INIT。但是,该数组是私有的,因此您必须将其公开。或者,您可以创建一个可以在 outerDocument 上调用的公共函数,但是......糟糕。

如果我正确理解了您的代码,您应该访问GridItemRendererdata 属性,它与outerDocument.DP_PRAT_INIT[ddlTuVous.selectedIndex] 相同,只是它更好,因为您没有可能的索引不匹配...

所以,你真正想要的是:

data.prTuVous = ddlTuVous.selectedItem;

【讨论】:

  • 谢谢,我用 data.prTuVous = ddlTuVous.selectedItem;它的作品
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2013-09-05
  • 2018-10-16
相关资源
最近更新 更多