2010-05-29 58 views
0

我在gridview中有一个chechbox。我需要禁用某些条件并启用其他条件。 问题是如何从网格中取出复选框ID。根据某些条件启用/禁用复选框

请帮助....

+0

你可以张贴一些代码?这是MXML还是ActionScript?复选框依赖于什么条件?更多的上下文会很有帮助。 – bedwyr 2010-05-29 20:05:52

回答

0

通过给你的复选框,你应该能够引用它,不管什么容器对象这是它的一个ID。

<mx:CheckBox id=myCheckbox ... /> 

然后可以在任何脚本在该文件中这样引用:

private function toggleCheckBoxEnabled():void{ 
    if(some condition){ 
     myCheckBox.enabled = true; 
    }else{ 
     myCheckBox.enabled = false; 
    } 
} 
+0

如果它位于渲染器内部,我们可以给出复选框的ID吗? 它给出了错误 – Priya 2010-05-30 15:10:20

+0

在任何循环代码中分配一个ID往往会破坏一个ID的概念,因为它们应该是100%唯一的,所以它不是很好的计划将它们放在渲染器中。我误解这是自从你说gridview我假定一个网格,当你的意思是一个数据网格时发生了什么。我认为狡辩对你来说有一个体面的答案。如果他不工作,你真的需要发布代码片段,以便我们可以看到你在做什么以及你的意图是什么。 – invertedSpear 2010-06-01 15:29:21

1
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:pw="http://intelligentpathways.com.au/Flex/v2"> 

    <mx:ArrayCollection id="ac"> 
     <mx:Object name="Alpha" enabled="{true}"/> 
     <mx:Object name="Bravo" enabled="{true}"/> 
     <mx:Object name="Charlie" enabled="{false}"/> 
     <mx:Object name="Delta" enabled="{false}"/> 
     <mx:Object name="Echo" enabled="{true}"/> 
    </mx:ArrayCollection> 

    <mx:Panel horizontalCenter="0" verticalCenter="0" title="Renderer Demo"> 
     <mx:DataGrid width="500" height="300" dataProvider="{ac}"> 
      <mx:columns> 
       <mx:DataGridColumn headerText="Name" dataField="name"/> 
       <mx:DataGridColumn headerText="Enabled?" dataField="enabled"/> 
       <mx:DataGridColumn headerText="Checkbox"> 
        <mx:itemRenderer> 
         <mx:Component> 
          <mx:Box paddingLeft="3"> 
           <mx:CheckBox label="Foxtrot" enabled="{data.enabled}"/> 
          </mx:Box> 
         </mx:Component> 
        </mx:itemRenderer> 
       </mx:DataGridColumn> 
      </mx:columns> 
     </mx:DataGrid> 
    </mx:Panel> 

</mx:Application>