Flex 4: привязка метки к провайдеру данных (SQLite) - PullRequest
0 голосов
/ 04 февраля 2011

Позвольте мне начать с того, что это мой первый проект Flex, поэтому я много читал, много учился, но все еще изо всех сил стараюсь сделать эту работу.

Я пытаюсь отобразить записииз базы данных SQLite в моем мобильном приложении Flex.У меня есть форма ввода, сохраняющая данные правильно в базу данных, и у меня есть сетка данных, которая выводит записи (так что я могу подтвердить, что все выглядит хорошо).Однако моя проблема заключается в том, чтобы сделать данные читаемыми.

Я хочу, чтобы пользователь мог выбрать идентификатор из раскрывающегося списка или списка (даже если это просто сетка данных из 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 и Adobe Developer Connection / liveocs / кулинарных книгах довольно интенсивно за последнюю неделю, и до сих пор не найдено рабочее решение.

1 Ответ

1 голос
/ 04 февраля 2011

Попробуйте это: во-первых, вы можете отобразить поле в виде массива коллекций следующим образом:

siteDetails.getItemAt(0).Street}

Динамическим является значение getItemAt (0).Зарегистрируйте обработчик кликов в сетке данных и отладьте событие.Где-то там selectedIndex является частью этого события.

Кстати, id должен начинаться с маленьких букв -> ExternalIPLBL

Установить точку останова в обработчике событий, попытаться выяснить, гдеваши данные (selectedIndex) и установите текст метки в обработчике событий: ExternalIPLBL.text = event.selectedIndex [Street].

BR Frank

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...