2010-05-29 83 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>