【问题标题】:Flex 4: Binding Label To Dataprovider (SQLite)Flex 4:将标签绑定到数据提供者(SQLite)
【发布时间】:2011-02-04 04:47:48
【问题描述】:

首先让我说这是我的第一个 Flex 项目,所以我读了很多书,学到了很多东西,但仍然在努力完成这项工作。

我正在尝试在我的 Flex 移动应用程序中显示 SQLite 数据库中的记录。我有输入表单将数据正确保存到数据库,并且我有一个输出记录的数据网格(所以我可以确认一切看起来都很好)。但是,我的问题是使数据可读。

我希望用户能够从下拉列表或列表中选择一个标识符(即使它只是一个 1 列数据网格),并让标签正确更新以反映该信息。

我的想法是这样设置数据网格:

    <mx:DataGrid x="10" y="10" width="100" height="500" id="SiteSelector" dataProvider="{siteData}" includeIn="SiteDetails" change="SiteChoice(event)">
    <mx:columns>
        <mx:DataGridColumn headerText="Site Name" dataField="SiteName" />
    </mx:columns>
</mx:DataGrid>

数据网格显示数据库中没有问题的站点名称。变化函数:

            private function SiteChoice(event:ListEvent):void
        {
            var statement:SQLStatement = new SQLStatement();
            statement.sqlConnection = connection;
            statement.text = "SELECT * FROM SITES WHERE SITE_ID = ?"
            statement.parameters[0] = SiteSelector.selectedItem.SITE_ID;
            statement.execute();
            siteDetails.source = statement.getResult().data;
        }

我也声明了:

[Bindable] private var siteDetails:ArrayCollection = new ArrayCollection();

我的问题是,如何获得一个标签来反映表格中的特定列数据?我相信我将它与 siteDetails 作为数据提供者一起插入,但我如何指定我希望,例如,地址或站点联系人出现在标签中?

<s:Label text="{siteDetails}" id="ExternalIPLBL"/>

上周我一直在大量搜索 Google 和 Adob​​e Developer Connection/livedocs/cookbooks,但仍未找到可行的解决方案。

【问题讨论】:

  • 由于 siteDetails 是一个 ArrayCollection,您的意思是要重复标签,每个实例都显示该 ArrayCollection 中的条目字段吗?
  • 我同意@Frank 的回答。此外,您不应该使用 ArrayCollection 作为标签的 dataProvider。您将使用 ArrayCollection 作为列表类型项的数据提供者。获得结果后,单步执行 siteDetails AC,然后根据 siteDetails 值设置标签文本值

标签: sql apache-flex


【解决方案1】:

试试这个: 首先,您可以像这样显示一个数组集合形式的字段

siteDetails.getItemAt(0).Street}

动态是 getItemAt(0) 值。将 clickhandler 注册到数据网格并调试事件。在某处, selectedIndex 是该事件的一部分。

顺便说一下,id应该以小写字母开头->ExternalIPLBL

在事件处理程序中设置断点,尝试找出您的数据在哪里(selectedIndex)并在事件处理程序中设置标签文本: ExternalIPLBL.text = event.selectedIndex[街道]。

BR 弗兰克

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2011-11-18
    • 2017-01-27
    • 2018-11-05
    • 1970-01-01
    相关资源
    最近更新 更多