gpt4 book ai didi

apache-flex - 弹性 : Programatically Setting the Chosen Item in a ComboBox

转载 作者:行者123 更新时间:2023-12-04 14:34:52 27 4
gpt4 key购买 nike

我需要一些帮助以编程方式在组合框中设置所选项目。

我有一个这样的组合框:

<mx:ComboBox  id="MyComboBox" change="puzzleHandler(event);"   prompt="Make a Selection">
<mx:ArrayCollection id="myDP">
<mx:Object id="first" label="Label 1" series="2" pageTitle="Title 1"/>
<mx:Object id="second" label="Label 2" series="7" pageTitle="Title 2"/>
<mx:Object id="third" label="Label 3" series="9" pageTitle="Title 3"/>
</mx:ArrayCollection>
</mx:ComboBox>

我有一个关于深度链接的函数。如果有人输入网址:www.mysite.com/#view=2,他们将被带到网站的适当部分(无需在组合框中选择标签 2)。如何以编程方式设置组合框,使其与用户查看的内容相对应?

在我函数的 switch 语句中,我想将组合框设置为与 View 对应的标签。如果“view=2”,则组合框应显示“标签 2”为选中状态。
    case "view=1":
MyComboBox.selectedItem.label="Label 1";
parseUrl();

case "view=2":
MyComboBox.selectedItem.label="Label 2";
parseUrl();

case "view=3":
MyComboBox.selectedItem.label="Label 3";
parseUrl();

我试过这个: MyComboBox.selectedItem.label="Label 1"但它不起作用。有什么建议?

谢谢你。

-Laxmidi

最佳答案

您不想更改 selectedItem 的对象;您想更改 selectedItem 或 selectedIndex。尝试这个:

case "view=1":
MyComboBox.selectedIndex=0;
parseUrl();

case "view=2":
MyComboBox.selectedIndex=1;
parseUrl();

case "view=3":
MyComboBox.selectedIndex=2;
parseUrl();

如果要设置 selectedItem 而不是 selectedIndex ,则必须遍历 dataProvider 以根据大小写/URL 值查找实际项目。像这样的东西:
for each(var tempObject : Object in myList.dataProvider){
if(tempObject.label == urlValue){
MyComboBox.selectedItem = tempObject;
break;
}
}

第二种方法是更灵活的长期方法。

关于apache-flex - 弹性 : Programatically Setting the Chosen Item in a ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4809004/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com