Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何有效地检查TabNavigator页面_Actionscript 3_Apache Flex_Actionscript_Flex4_Flex3 - Fatal编程技术网

Actionscript 3 如何有效地检查TabNavigator页面

Actionscript 3 如何有效地检查TabNavigator页面,actionscript-3,apache-flex,actionscript,flex4,flex3,Actionscript 3,Apache Flex,Actionscript,Flex4,Flex3,我使用flex TabNavigator来显示一些数据网格。每个datagrid具有相同的结构,但填充了不同的dataProvider。目前,我使用以下方法检查单击了选项卡中的哪个datagrid或元素 if(TabNavigator.selectedIndex==0){ }else if(TabNavigator.selectedIndex==1){ } ... else if(TabNavigator.selectedIndex==4){ } 我的问题是有没有一种有效的方法来检查这一点?我是

我使用flex TabNavigator来显示一些数据网格。每个datagrid具有相同的结构,但填充了不同的dataProvider。目前,我使用以下方法检查单击了选项卡中的哪个datagrid或元素

if(TabNavigator.selectedIndex==0){

}else if(TabNavigator.selectedIndex==1){

} ... else if(TabNavigator.selectedIndex==4){

}

我的问题是有没有一种有效的方法来检查这一点?我是否可以在一个物业中组织类似的结构?
谢谢。

将所有数据提供程序按与选项卡导航器中的项目相同的顺序添加到一个数组中。然后简单地做:

dataGrid.dataProvider = dataProviderArray[tabNavigator.selectedIndex];
这里的“dataProviderArray”是数据网格的所有数据提供程序的数组。 另外,由于您提到数据网格对于所有选项卡都具有相同的结构,因此我假设您使用的是一个数据网格,而不是多个。如果没有,我建议您只保留一个数据网格,并在选项卡更改时更改其数据提供程序


希望这能解决你的问题

多谢各位。我试过了,但不太准确。有时索引值会被交换,例如,第二个索引的数据会加载到第三个索引中。只要您不操纵源数组,就不会发生这种情况。检查你的代码,或者如果你想让我看一下的话,把它贴在你的问题里。谢谢