This isn't exactly what you asked about but it's close. I use the method below to copy selected rows to clipboard. In this use I have a tab character to separate the columns, elsewhere I provide the user the choice between tab and comma with a separate dialog.
private function syncCopyToClipboard():void { // Separator used between Strings sent to clipboard // to separate selected cells. var separator:String = "\t"; if (syncComma.selected) separator = ","; // The String sent to the clipboard System.setClipboard(" "); var dataString:String = ""; var n:int = dgSyncGroupMembers.selectedCells.length; if (n == 0) { Alert.show("You have not selected any rows, to select all rows: click on the first row, scroll to the bottom and shift click on the last row. Otherwise, select specific rows before you press the copy to clipboard button."); } for (var i:int = 0; i < n; i++) { var cell:Object = dgSyncGroupMembers.selectedCells[i]; var data:Object = dgSyncGroupMembers.dataProvider[cell.rowIndex]; var nameField:String = dgSyncGroupMembers.columns[0].dataField; var valuField:String = dgSyncGroupMembers.columns[1].dataField; dataString = data[nameField] + separator + data[valuField] + "\n" + dataString; } // Write dataString to the clipboard. System.setClipboard(dataString); }