2015-07-31 2 views
1

Я использую flex TabNavigator для отображения нескольких данных. Каждый datagrid имеет такую ​​же структуру, но заполняется с помощью другого dataProvider. В настоящее время я использую следующий метод для проверки того, какой datagrid или элемент из вкладки был нажат.Как эффективно проверить страницу TabNavigator

, если (TabNavigator.selectedIndex == 0) {

} иначе, если (TabNavigator.selectedIndex == 1) {

} ... иначе, если (TabNavigator.selectedIndex == 4) {

}

Мой вопрос есть эффективный способ проверить это? В любом случае, я могу организовать подобную структуру в одном свойстве? Спасибо.

ответ

1

Добавьте всех поставщиков данных в массив в той же последовательности, что и элементы в навигаторе вкладок. Затем просто выполните:

dataGrid.dataProvider = dataProviderArray[tabNavigator.selectedIndex]; 

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

Надеюсь, что решает вопрос.

+0

спасибо. Я попробовал, но это дает несколько неточностей. Иногда значения индекса меняются местами, например. Данные для второго индекса загружаются в 3-й индекс. – ParekhAbhishekN

+0

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

Смежные вопросы