PDA

View Full Version : dataGrid multiple selectedItems problem



shebimangalath
January 8th, 2009, 04:00 AM
import fl.controls.*;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.setSize(300, 110);
myDataGrid.move(10, 10);
myDataGrid.allowMultipleSelection = true;
addChild(myDataGrid);

var resultButton = new Button();
resultButton.move(10, 130);
addChild(resultButton);
resultButton.label = "Result";
resultButton.addEventListener(MouseEvent.CLICK, getResult);

function getResult(e:Event){
//here i need multiple selected item data
trace("result: " + myDataGrid.selectedItem.col2);
}


here iam trying to trace multiple seleted items data, i tried myDataGrid.selectedItems.col2, but its not working..... How can i do this ?.....
Could u please help me................

thanks in advance,
shabeer...

ayumilove
January 8th, 2009, 05:37 AM
EDIT: Select 1 Only


import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;


var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.setSize(300, 110);
myDataGrid.move(10, 10);
myDataGrid.allowMultipleSelection = true;
addChild(myDataGrid);



myDataGrid.addEventListener(Event.CHANGE, getResult);

function getResult(e:Event){
trace(e.target.selectedItem.col1 + "\t" + e.target.selectedItem.col2 + "\t" + e.target.selectedItem.col3);

}//getResult{}


EDIT: Select 1 or many


import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;


var dp:DataProvider = new DataProvider();
dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn("col1");
myDataGrid.addColumn("col2");
myDataGrid.addColumn("col3");
myDataGrid.dataProvider = dp;
myDataGrid.setSize(300, 110);
myDataGrid.move(10, 10);
myDataGrid.allowMultipleSelection = true;
addChild(myDataGrid);



myDataGrid.addEventListener(Event.CHANGE, getResult);

function getResult(e:Event){
//trace(e.target.selectedItem.col1 + "\t" + e.target.selectedItem.col2 + "\t" + e.target.selectedItem.col3);

var selectedItems:Array = myDataGrid.selectedItems;

for (var i:int = 0; i < selectedItems.length; i++)
{
trace(selectedItems[i].col1 + "\t" + selectedItems[i].col2 + "\t" + selectedItems[i].col3);

}//for{}

}//getResutl{}


For more reference, please look here ^_^
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/DataGrid.html#includeExamplesSummary
http://help.adobe.com/en_US/AS3LCR/Flash_10.0/fl/controls/SelectableList.html#selectedItem

shebimangalath
January 9th, 2009, 01:53 PM
thank you ayumilove (http://www.kirupa.com/forum/member.php?u=52203) its working now!