VKN9876
asked on
Flex DataGrid export to MS Excel question.
I have an AdvancedDatagrid with multirow select enabled.My user want to export the grid data to Excel. My function export all grid data to excel. How do I export only selected rows, if the user select multiple rows. Any help appreciated.
Code attached.
Code attached.
public static function exportCSV(dg:AdvancedDataGrid, csvSeparator:String=",", lineSeparator:String="\n"):String {
var data:String = "";
var columns:Array = dg.columns;
var columnCount:int = columns.length;
var column:AdvancedDataGridColumn;
var header:String = "";
var headerGenerated:Boolean = false;
var dataProvider:Object = dg.dataProvider;
var rowCount:int = dataProvider.length;
var dp:Object = null;
var str:String = '';
var cursor:IViewCursor = dataProvider.createCursor ();
var j:int = 0;
//loop through rows
while (!cursor.afterLast) {
var obj:Object = null;
obj = cursor.current;
//loop through all columns for the row
for(var k:int = 0; k < columnCount; k++) {
column = columns[k];
//Exclude column data which is invisible (hidden)
if(!column.visible) {
continue;
}
data += column.itemToLabel(obj);
if(k < (columnCount -1)) {
data += csvSeparator;
trace(data);
}
//generate header of CSV, only if it's not genereted yet
if (!headerGenerated) {
header += column.headerText;
if (k < columnCount - 1) {
header += csvSeparator;
}
}
}
headerGenerated = true;
if (j < (rowCount - 1)) {
data += lineSeparator;
}
j++;
cursor.moveNext ();
}
//set references to null:
dataProvider = null;
columns = null;
column = null;
str = header + "\r\n" + data;
return str;
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Thanx 4 axxepting