<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FlexOut &#187; excel</title>
	<atom:link href="http://flex.exposedout.net/tag/excel/feed/" rel="self" type="application/rss+xml" />
	<link>http://flex.exposedout.net</link>
	<description>i am an itemrendrer in the making!</description>
	<lastBuildDate>Fri, 13 May 2011 10:05:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Copy functionality in DataGrid</title>
		<link>http://flex.exposedout.net/2008/08/18/copy-functionality-in-datagrid/</link>
		<comments>http://flex.exposedout.net/2008/08/18/copy-functionality-in-datagrid/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 13:34:22 +0000</pubDate>
		<dc:creator>Vikram singh</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[datagrid]]></category>
		<category><![CDATA[excel]]></category>

		<guid isPermaLink="false">http://guavus.wordpress.com/?p=28</guid>
		<description><![CDATA[The following example shows the customize data grid by applying a copy and paste functionality. The idea is very simple but i think its useful, the data copied in clipboard can directly paste in excel and it will pasted in proper columns rather than in a single column, I tested this on Excel 2007. for [...]


Related posts:<ol><li><a href='http://flex.exposedout.net/2009/07/10/dynamically-add-remove-columns-in-a-datagrid/' rel='bookmark' title='Permanent Link: Dynamically add remove columns in a datagrid'>Dynamically add remove columns in a datagrid</a></li>
<li><a href='http://flex.exposedout.net/2008/10/16/printing-datagrid-in-flex/' rel='bookmark' title='Permanent Link: Printing dataGrid in Flex'>Printing dataGrid in Flex</a></li>
<li><a href='http://flex.exposedout.net/2009/01/22/filter-datagrid-using-slider/' rel='bookmark' title='Permanent Link: Filter datagrid using a hslider'>Filter datagrid using a hslider</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<div class="entrybody">
<div class="snap_preview">
<p>The following example shows the customize data grid by applying a copy and paste functionality.</p>
<p>The idea is very simple but i think its useful, the data copied in clipboard can directly paste in excel and it will pasted in proper columns rather than in a single column, I tested this on Excel 2007.</p>
<p>for the running examples click <a href="http://imtiyaz-dev.blogspot.com/2008/06/test-post.html" target="_blank">here</a></p>
<p>for the complete source <a href="http://imtiyaz.ms.googlepages.com/CDGrid.rar" target="_self">here</a></p>
<p><span id="more-28"></span></p>
<blockquote><p>package com.ib.custom<br />
{<br />
import flash.events.ContextMenuEvent;<br />
import flash.events.Event;<br />
import flash.system.System;<br />
import flash.ui.ContextMenu;<br />
import flash.ui.ContextMenuItem;</p>
<p>import mx.controls.Alert;<br />
import mx.controls.DataGrid;<br />
import mx.controls.dataGridClasses.DataGridColumn;<br />
import mx.core.EventPriority;<br />
import mx.events.CloseEvent;<br />
import mx.events.ListEvent;</p>
<p>public class IBDataGrid extends DataGrid<br />
{<br />
[Bindable] public var enableCopy : Boolean = true;<br />
// for creating conext menu item for coping functionality<br />
private var copyContextItem:ContextMenuItem;<br />
// for storing the header text at only once.<br />
private var headerString : String = ”;</p>
<p>private var dataToCopy:String = ”;<br />
public function IBDataGrid()<br />
{<br />
super();<br />
}</p>
<p>// I am creating a copy context item and its handler in creation complete of DATAGRID if and only if enableCopy is true.<br />
override protected function createChildren():void{<br />
super.createChildren();<br />
var flag:Boolean = false<br />
if(enableCopy){<br />
contextMenu = new ContextMenu();<br />
createContextMenu();<br />
addEventListener(ListEvent.ITEM_CLICK,<br />
itemClickHandler,<br />
false, EventPriority.DEFAULT_HANDLER);<br />
flag = true;<br />
}<br />
}</p>
<p>private function createContextMenu():void{<br />
copyContextItem = new ContextMenuItem(”copy row/s”);<br />
copyContextItem.enabled = false;<br />
copyContextItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,copyDataHandler);<br />
contextMenu.customItems.push(copyContextItem);<br />
// comment the following line if you want default items in context menu.<br />
contextMenu.hideBuiltInItems();<br />
}</p>
<p>private function copyDataHandler(event:Event):void{<br />
dataToCopy = ”;<br />
if(selectedItems != null){<br />
dataToCopy = getSelectedRowsData();<br />
dataToCopy = ((headerString == ”) ? getHeaderData() : headerString)+”\n” + dataToCopy;<br />
copyContextItem.enabled = true;<br />
System.setClipboard(dataToCopy);<br />
}<br />
}</p>
<p>private function handleAlertClose(event:CloseEvent):void{<br />
trace(”handling .. the event”);<br />
if(event.detail == 1)<br />
{</p>
<p>}</p>
<p>}<br />
private function getHeaderData():String{<br />
headerString = ”;<br />
for(var j:int = 0; j&lt; columnCount; j++){<br />
if((columns[j] as DataGridColumn).visible)<br />
headerString += (columns[j] as DataGridColumn).headerText +”\t”;<br />
}<br />
return headerString;<br />
}</p>
<p>private function getSelectedRowsData():String{<br />
var rowsData : String = ”;<br />
for(var i:int =0;i&lt;selectedItems.length;i++) {<br />
for(var j:int = 0; j&lt; columnCount; j++){<br />
if((columns[j] as DataGridColumn).visible)<br />
rowsData += selectedItems[i][(columns[j] as DataGridColumn).dataField] +”\t”;<br />
}<br />
rowsData+= “\n”;<br />
}<br />
return rowsData;<br />
}</p>
<p>private function itemClickHandler(event:ListEvent):void<br />
{<br />
copyContextItem.enabled = true;<br />
}<br />
}<br />
}</p></blockquote>
<p>- imtiyaz</p></div>
</div>


<p>Related posts:<ol><li><a href='http://flex.exposedout.net/2009/07/10/dynamically-add-remove-columns-in-a-datagrid/' rel='bookmark' title='Permanent Link: Dynamically add remove columns in a datagrid'>Dynamically add remove columns in a datagrid</a></li>
<li><a href='http://flex.exposedout.net/2008/10/16/printing-datagrid-in-flex/' rel='bookmark' title='Permanent Link: Printing dataGrid in Flex'>Printing dataGrid in Flex</a></li>
<li><a href='http://flex.exposedout.net/2009/01/22/filter-datagrid-using-slider/' rel='bookmark' title='Permanent Link: Filter datagrid using a hslider'>Filter datagrid using a hslider</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://flex.exposedout.net/2008/08/18/copy-functionality-in-datagrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

