加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex:以编程方式设置ComboBox中的选定项

发布时间:2020-12-15 02:16:40 所属栏目:百科 来源:网络整理
导读:我需要一些帮助,以编程方式在拼图框中以编程方式设置所选项目. 我有一个像这样的组合框: mx:ComboBox id="MyComboBox" change="puzzleHandler(event);" prompt="Make a Selection" mx:ArrayCollection id="myDP" mx:Object id="first" label="Label 1" seri
我需要一些帮助,以编程方式在拼图框中以编程方式设置所选项目.

我有一个像这样的组合框:

<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,他们将被带到网站的相应部分(没有在comboBox中选择标签2).如何以编程方式设置comboBox,以便它与用户所看到的内容相对应?

在我的函数的switch语句中,我想将comboBox设置为与视图对应的标签.如果“view = 2”,则comboBox应显示“Label 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;
 }
}

第二种方法是长期更灵活.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读