I want be able to delete a datagrid row AND rows out of a data grid if a checkbox is checked. The checkbox is part of the row (the first cell). Right now I cannot detect if the checkbox is selected or not after it has been sent to the datagrid. I would like to check which rows are checked and then remove all of the rows that have a selected check box (call removeTaskRecord()). How can I do this? I just started learning Flex, so all suggestions with accompanied code are appreciated. Thanks
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FDFDFD, #FDFCFC]"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.List; import mx.controls.CheckBox; import mx.controls.ComboBox; [Bindable] private var myArray1:Array = new Array("a", "b", "c"); [Bindable] private var myArray2:Array = new Array("a", "b", "c"); [Bindable] private var myArray3:Array = new Array("a", "b", "c"); [Bindable] private var dataGridProvider:ArrayCollection = new ArrayCollection(); [Bindable] private var selectCheckBox:CheckBox = new CheckBox(); private var cb:ComboBox = new ComboBox(); private function updateTable():void { //Add the new data into the table (into the next row of the table) dataGridProvider.addItem({col1:selectCheckBox, col2:cb1.selectedLabel,col3: input1.text, col4:cb2.selectedLabel, col5:ns1.value ,col6:cb3.selectedLabel, col7:ns2.value}); //Update the table's dataprovider with the updated task row table.dataProvider = dataGridProvider; //Clear the data from the new task input form cb1.selectedIndex = -1; input1.text = null; cb2.selectedIndex = -1; ns1.value = 0; cb2.selectedIndex = -1; ns2.value = 0; } private function removeTaskRecord():void { //Check if the checkbox for the task is selected //((CheckBox)(((Array)(dataGridProvider.getItemIndex(scrumTable.selectedIndex)))[0])).selected if(table.selectedIndex>=0)//selectCheckBox.selected)//if(datagrid selected index is greater than or equal to 0) { //Remove the task record from the Data Grid data provider dataGridProvider.removeItemAt(table.selectedIndex); } } ]]> </mx:Script> <mx:Panel width="1027" height="382" layout="absolute" borderColor="#0C2B73" left="10" bottom="10"> <mx:DataGrid x="10" y="10" width="984" height="295" wordWrap="true" id="table" dataProvider="{dataGridProvider}" draggableColumns="false" variableRowHeight="true"> <mx:columns> <mx:DataGridColumn headerText="col1" dataField="col1" editable="true" itemRenderer="mx.controls.CheckBox" width="50" textAlign="center"/> <mx:DataGridColumn headerText="col2" dataField="col2" editable="true" itemRenderer="mx.controls.TextInput"/> <mx:DataGridColumn headerText="col3" dataField="col3" editable="true" itemRenderer="mx.controls.TextInput"/> <mx:DataGridColumn headerText="col4" dataField="col4" editable="true" itemRenderer="mx.controls.TextInput"/> <mx:DataGridColumn headerText="col5" dataField="col5" editable="true" itemRenderer="mx.controls.NumericStepper"/> <mx:DataGridColumn headerText="col6" dataField="col6" editable="true" itemRenderer="mx.controls.TextInput"/> <mx:DataGridColumn headerText="col7" dataField="col7" editable="true" itemRenderer="mx.controls.NumericStepper"/> </mx:columns> </mx:DataGrid> <mx:Button x="921" y="313" label="Remove" id="removeBtn" enabled="true" click="removeTaskRecord()"/> </mx:Panel> <mx:Panel width="520" height="308" layout="absolute" left="10" top="33" borderColor="#0C2B73"> <mx:ComboBox x="10" y="40" id="cb1" dataProvider="{myArray1}" width="169" selectedIndex="-1"></mx:ComboBox> <mx:TextInput x="202" y="40" width="255" id="input1"/> <mx:ComboBox x="10" y="107" dataProvider="{myArray2}" selectedIndex="-1" id="cb2"></mx:ComboBox> <mx:ComboBox x="202" y="107" dataProvider="{myArray3}" selectedIndex="-1" id="cb3"></mx:ComboBox> <mx:NumericStepper x="10" y="179" maximum="25" id="ns1"/> <mx:NumericStepper x="202" y="179" maximum="25" id="ns2"/> <mx:Button x="392" y="218" label="Submit" id="sbBtn" click="updateTable()"/> </mx:Panel> </mx:Application>