You may be able to borrow code from:
http://blogs.adobe.com/aharui/2008/03/custom_ilists_checkboxdatagrid_1.h
tml

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of jeffreyr6915
Sent: Wednesday, March 12, 2008 9:28 PM
To: [email protected]
Subject: [flexcoders] Flex and ActionScript 3 - Selecting a Checkbox and
deleting a data grid row

 

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
<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.selected
Index)))[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>

 

Reply via email to