Hi everyone, I have a script that copies data from a datagrid to a
clipboard and I can then paste it in Excel. How can I modify this
script if I would like to copy data from 2 or more datagrids???
Here's the script:
<mx:Button label="Copy It" click="copyDataGrid(thedataGrid)"/>
public function copy(dg:DataGrid):void
{
var str:String = new String();
var rows:Number = 0;
str += dg.name;
str += "\n";
for(var i:int = 0;i<dg.columns.length;i++)
{
str+= dg.columns[i].headerText + "\t";
}
str += "\n";
for(var j:int =0;j<dg.dataProvider.length;j++)
{
for(var k:int=0; k < dg.columns.length; k++)
{
if(dg.dataProvider.getItemAt(j) != undefined
&& dg.dataProvider.getItemAt(j) != null)
{
if(dg.columns[k].labelFunction != undefined &&
dg.columns[k].labelFunction != null)
{
str += "\"" + dg.columns
[k].labelFunction(dg.dataProvider.getItemAt(j),dg.columns[k]) + "\""
+ "\t";
}
else
{
var data:String = new String();
if( dg.dataProvider.getItemAt
(j)[dg.columns[k].dataField] == null)
{
data = "";
}
else
{
data =
dg.dataProvider.getItemAt(j)[dg.columns[k].dataField].toString();
}
data = data.replace(/"/g, "");
str += "\"" + data + "\""
+ "\t";
}
}
}
rows++;
str += "\n";
}
System.setClipboard(str);
}