<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Igor Musardo &#187; Adobe Flex</title>
	<atom:link href="http://igormusardo.com.br/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://igormusardo.com.br</link>
	<description>Consultor de Inteligência para eCommerce que já deixou sua marca em grandes empresas como Sadia S/A e Buscapé Company.</description>
	<lastBuildDate>Thu, 26 Jan 2012 18:53:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<copyright>Copyright &#xA9; Igor Musardo &#124; Software Developer 2011 </copyright>
	<managingEditor>contato@igormusardo.com.br (Igor Musardo)</managingEditor>
	<webMaster>contato@igormusardo.com.br (Igor Musardo)</webMaster>
	<image>
		<url>http://igormusardo.com.br/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Igor Musardo</title>
		<link>http://igormusardo.com.br</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>We can build software that change the World.</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Igor Musardo</itunes:author>
	<itunes:owner>
		<itunes:name>Igor Musardo</itunes:name>
		<itunes:email>contato@igormusardo.com.br</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://igormusardo.com.br/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Editor de Imagens em Adobe Flex</title>
		<link>http://igormusardo.com.br/2011/04/30/editor-de-imagens-em-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2011/04/30/editor-de-imagens-em-adobe-flex/#comments</comments>
		<pubDate>Sun, 01 May 2011 02:05:15 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=1207</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2011%2F04%2F30%2Feditor-de-imagens-em-adobe-flex%2F&title=Editor+de+Imagens+em+Adobe+Flex&desc=%0D%0A%0D%0ARecentemente+Mirko+Bordjoski+postou+em+seu+blog+um+editor+de+efeito+de+cores+de+imagens+feito+para+Adobe+Flex+4.5+utilizando+o+CMVC%2C+segundo+Mirko%2C+uma+customiza%C3%A7%C3%A3o+do+PureMVC.%0D%0A%0D%0AVeja+o+editor+&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Recentemente Mirko Bordjoski postou em seu blog um editor de efeito de cores de imagens feito para Adobe Flex 4.5 utilizando o CMVC, segundo Mirko, uma customização do PureMVC. Veja o editor de imagens. Baixe o código fonte completo pra seus estudos. Bons estudos…]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2011%2F04%2F30%2Feditor-de-imagens-em-adobe-flex%2F&title=Editor+de+Imagens+em+Adobe+Flex&desc=%0D%0A%0D%0ARecentemente+Mirko+Bordjoski+postou+em+seu+blog+um+editor+de+efeito+de+cores+de+imagens+feito+para+Adobe+Flex+4.5+utilizando+o+CMVC%2C+segundo+Mirko%2C+uma+customiza%C3%A7%C3%A3o+do+PureMVC.%0D%0A%0D%0AVeja+o+editor+&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><a href="http://igormusardo.com.br/wp-content/uploads/2011/04/ImageEditorInAdboeFlex.jpg"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="ImageEditorInAdboeFlex" src="http://igormusardo.com.br/wp-content/uploads/2011/04/ImageEditorInAdboeFlex_thumb.jpg" border="0" alt="ImageEditorInAdboeFlex" width="550" height="400" /></a></p>
<p>Recentemente <a href="http://www.blogger.com/profile/05689659562515590612" target="_blank">Mirko Bordjoski</a> postou em seu <a href="http://candymandesign.blogspot.com/" target="_blank">blog</a> um <a href="http://igormusardo.com.br/examples/imageeditor/ImageEditorExample.html" target="_blank">editor de efeito de cores de imagens feito para Adobe Flex 4.5</a> utilizando o CMVC, segundo <a href="http://www.blogger.com/profile/05689659562515590612" target="_blank">Mirko</a>, uma customização do <a href="http://puremvc.org/" target="_blank">PureMVC</a>.</p>
<p><a href="http://igormusardo.com.br/examples/imageeditor/ImageEditorExample.html" target="_blank">Veja o editor de imagens</a>.</p>
<p><a href="http://igormusardo.com.br/wp-content/uploads/2011/04/ImageEditorExample.zip" target="_blank">Baixe o código fonte completo pra seus estudos</a>.</p>
<p>Bons estudos…</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2011/04/30/editor-de-imagens-em-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Os 45 tutoriais de Adobe Flex mais procurados</title>
		<link>http://igormusardo.com.br/2010/08/30/os-45-tutoriais-de-adobe-flex-mais-procurados/</link>
		<comments>http://igormusardo.com.br/2010/08/30/os-45-tutoriais-de-adobe-flex-mais-procurados/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 12:30:19 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[DataGrid]]></category>
		<category><![CDATA[Dica]]></category>
		<category><![CDATA[DragDrop]]></category>
		<category><![CDATA[Gráfico]]></category>
		<category><![CDATA[ItemRenderer]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Json]]></category>
		<category><![CDATA[MP3 Player]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[TileList]]></category>
		<category><![CDATA[ViewStack]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=957</guid>
		<description><![CDATA[Uma relação de vários tutoriais excepcionais de Adobe Flex! Bom estudos!]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F08%2F30%2Fos-45-tutoriais-de-adobe-flex-mais-procurados%2F&title=Os+45+tutoriais+de+Adobe+Flex+mais+procurados&desc=Est%C3%A1+procurando+alguns+tutoriais+de+Adobe+Flex%3F+O+blog+Design+Your+Way+separou+45+tutoriais+muito+bacanas+para+Adobe+Flex%2C+eu+separei+os+que+eu+achei+mais+interessantes+e+relevantes.++Aproveite+e+bon&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Está procurando alguns tutoriais de Adobe <a title="Adobe Flex" href="http://www.igormusardo.com.br/category/flex/" target="_blank">Flex</a>? O blog <a href="http://www.designyourway.net/blog/" target="_blank">Design Your Way</a> separou <a href="http://www.designyourway.net/blog/tutorials/45-of-the-most-wanted-adobe-flex-tutorials/" target="_blank">45 tutoriais muito bacanas para Adobe Flex</a>, eu separei os que eu achei mais interessantes e relevantes.</p>
<p>Aproveite e bons estudos!</p>
<p>01º <a href="http://www.vipercreations.com/tutorials/Adobe%20Flex/29.html" target="_blank">Flex MP3 Player</a></p>
<p>02º <a href="http://buildinternet.com/2008/12/xml-basics-with-flex-3/" target="_blank">XML Básico com Flex 3</a></p>
<p>03º <a href="http://active.tutsplus.com/tutorials/flex/creating-a-3d-flickr-photo-gallery-with-away3d/" target="_blank">Criando uma galeria 3D do Flickr com Flex e Awaya3D</a></p>
<p>04º <a href="http://www.switchonthecode.com/tutorials/flex-snippet-tutorial-using-the-textrange-class" target="_blank">Usando a classe TextRange</a></p>
<p>05º Construindo um ItemRenderer para TileList</p>
<p>06º <a href="http://www.switchonthecode.com/tutorials/flex-rotating-cube-viewstack-component" target="_blank">Rotacionando a ViewStack em forma de Cubo</a></p>
<p>07º <a href="http://www.switchonthecode.com/tutorials/simple-flex-drag-and-drop" target="_blank">Drag Drop simples no Flex</a></p>
<p>08º <a href="http://www.switchonthecode.com/tutorials/flex-custom-cursor-tutorial" target="_blank">Cursor customizado no Flex</a></p>
<p>09º <a href="http://buildinternet.com/2008/12/introduction-to-charts-with-flex-3/" target="_blank">Como fazer gráficos no Flex</a></p>
<p>10º <a href="http://active.tutsplus.com/tutorials/flex/design-a-panoramio-thumbnail-viewer-in-flex/" target="_blank">Visualizador de imagens em miniaturas no Flex</a></p>
<p>11º <a href="http://www.switchonthecode.com/tutorials/building-flex-degrafa-tic-tac-toe-part-1" target="_blank">Jogo da Velha em Flex com Degrafa</a></p>
<p>12º <a href="http://www.knowledgesutra.com/forums/topic/60453-design-a-contact-form-in-flex-part-1/" target="_blank">Formulários no Flex</a></p>
<p>13º <a href="http://www.vipercreations.com/tutorials/Adobe%20Flex/28/" target="_blank">Sistema de Login em Flex com PHP</a></p>
<p>14º <a href="http://www.switchonthecode.com/tutorials/how-to-use-flex-to-get-music-info-from-amazon-web-services" target="_blank">Pegando informações de músicas do WebService da Amazon com o Adobe Flex</a></p>
<p>15º <a href="http://scriptplayground.com/tutorials/as/Installing-and-Using-Google-Maps-in-Flex/" target="_blank">Instalando e usando o Google Maps no Flex</a></p>
<p>16º <a href="http://www.riacodes.com/flex/build-a-xml-driven-accordion-image-gallery/" target="_blank">Galeria de imagens com o componente Accordion e XML no Flex</a></p>
<p>17º <a href="http://www.switchonthecode.com/tutorials/flex-javascript-basics-using-externalinterface" target="_blank">Interação entre Flex e Javascript</a></p>
<p>18º <a href="http://www.prodevtips.com/2007/12/07/multiple-uploads-with-jquery-and-flex-or-flash/" target="_blank">Múltiplos uploads com JQuery e Flex ou Flash</a></p>
<p>19º <a href="http://scriptplayground.com/tutorials/pss/Developing-Flash-Windows-for-Photoshop-Using-Flex/" target="_blank">Desenvolvendo janelas em Flex ou Flash para o Adobe Photoshop</a></p>
<p>20º <a href="http://www.brighthub.com/hubfolio/matthew-casperson/articles/53092.aspx" target="_blank">Criando um cliente Digg em Flex</a></p>
<p>21º <a href="http://buildinternet.com/2008/12/flex-3-basics-introduction-to-data-binding/" target="_blank">Introdução ao Data Binding</a></p>
<p>22º <a href="http://buildinternet.com/2009/01/flex-3-basics-data-grids-with-xml/" target="_blank">Data Grid com XML</a></p>
<p>23º <a href="http://www.switchonthecode.com/tutorials/using-flex-php-and-json-to-modify-a-mysql-database" target="_blank">Usando Flex, PHP e Json para modificar dados no MySQL</a></p>
<p>24º <a href="http://active.tutsplus.com/tutorials/flex/working-with-adobe-flex-builders-debugger/" target="_blank">Trabalhando com o Debugger no Adobe Flex Builder</a></p>
<p>25º <a href="http://www.spltech.co.uk/blog/adobe-flex/ui/creating-a-countdown-clock-with-timer" target="_blank">Criando um relógio de contagem regressiva em Flex</a></p>
<p>26º <a href="http://www.switchonthecode.com/tutorials/flex-php-tutorial-transmitting-data-using-json" target="_blank">Transmitindo dados entre Flex e PHP usando Json</a></p>
<p>27º <a href="http://active.tutsplus.com/tutorials/flex/creating-a-feed-reader-widget-with-adobe-flex-3/" target="_blank">Criando um leitor de Feeds (RSS) em Flex</a></p>
<p>28º <a href="http://net.tutsplus.com/tutorials/other/how-to-create-a-bubble-chart-in-flex/" target="_blank">Como criar um gráfico de Bolhas em Flex</a></p>
<p>29º <a href="http://net.tutsplus.com/tutorials/other/how-to-create-a-bubble-chart-in-flex/" target="_blank">Usando Item Renderes</a></p>
<p>30º <a href="http://www.riacodes.com/flex/create-an-email-form-in-flex-with-php/" target="_blank">Criando um formulário de email em Flex com PHP</a></p>
<p>31º <a href="http://active.tutsplus.com/tutorials/flex/dynamic-advanced-long-lists-with-flex/" target="_blank">Criando grandes listas dinâmicas em Flex</a></p>
<p>32º <a href="http://www.switchonthecode.com/tutorials/flex-tutorial-an-asynchronous-jpeg-encoder" target="_blank">Encodificador assincrono de JPEG</a></p>
<p>33º <a href="http://www.brighthub.com/hubfolio/matthew-casperson/articles/57034.aspx" target="_blank">Criando seu jogo de aventura no Adobe Flex</a></p>
<p>34º <a href="http://www.switchonthecode.com/tutorials/flex-tutorial-change-the-list-selection-indicator" target="_blank">Mudando o identificador de seleção de uma Lista no Flex</a></p>
<p>35º <a href="http://www.brighthub.com/hubfolio/matthew-casperson/articles/52274.aspx" target="_blank">Criando um player customizado do You Tube em Adobe Flex</a></p>
<p>36º <a href="http://active.tutsplus.com/tutorials/flex/build-an-xml-driven-contact-list-using-flex-3/" target="_blank">Criando uma lista de contatos usando Flex e XML</a></p>
<p>37º <a href="http://www.brighthub.com/hubfolio/matthew-casperson/articles/52994.aspx" target="_blank">Criando um album de fotos do Facebook em Flex</a></p>
<p>38º <a href="http://www.switchonthecode.com/tutorials/flex-datagrid-selected-row-styling" target="_blank">Modificando o estilo da linha selecionada na Data Grid</a></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/08/30/os-45-tutoriais-de-adobe-flex-mais-procurados/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Decis&#245;es corretas atrav&#233;s de dashboards din&#226;micos em Flex e ASP.NET MVC</title>
		<link>http://igormusardo.com.br/2010/08/03/decisoes-corretas-atraves-de-dashboards-dinamicos-em-flex-e-asp-net-mvc/</link>
		<comments>http://igormusardo.com.br/2010/08/03/decisoes-corretas-atraves-de-dashboards-dinamicos-em-flex-e-asp-net-mvc/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 12:20:34 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[Flex Mania]]></category>
		<category><![CDATA[Slideshare]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=941</guid>
		<description><![CDATA[Este foi o título da palestra que ministrei no Flex Mania 2010 no dia 8 de Julho de 2010 à convite do meu chará Igor Costa.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F08%2F03%2Fdecisoes-corretas-atraves-de-dashboards-dinamicos-em-flex-e-asp-net-mvc%2F&title=Decis%26otilde%3Bes+corretas+atrav%26eacute%3Bs+de+dashboards+din%26acirc%3Bmicos+em+Flex+e+ASP.NET+MVC&desc=+Este+foi+o+t%C3%ADtulo+da+palestra+que+ministrei+no+Flex+Mania+2010+no+dia+8+de+Julho+de+2010+%C3%A0+convite+do+meu+char%C3%A1+Igor+Costa.%0D%0A%0D%0AAbordei+esse+tema+pois+o+mesmo+esta+em+destaque+em+grandes+corpora%C3%A7%C3&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><a title="Flex Mania 2010" href="http://www.flexmania.com.br" target="_blank"><img style="margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; display: block; border: 0px initial initial;" title="Flex Mania 2010" src="http://www.igormusardo.com.br/wp-content/uploads/2010/08/logo1.png" border="0" alt="Flex Mania 2010" width="292" height="126" /></a> Este foi o título da palestra que ministrei no <a title="Flex Mania 2010" href="http://www.flexmania.com.br" target="_blank">Flex Mania 2010</a> no dia 8 de Julho de 2010 à convite do meu chará <a title="Igor Costa" href="http://www.igorcosta.com/blog/" target="_blank">Igor Costa</a>.</p>
<p>Abordei esse tema pois o mesmo esta em destaque em grandes corporações e sei que vários desenvolvedores possuem dúvidas em como construir <a title="Dashboard" href="http://www.igormusardo.com.br/?s=dashboard&amp;search=Search" target="_blank">Dashboard</a>, bem quais os tipos de <a title="Dashboard" href="http://www.igormusardo.com.br/?s=dashboard&amp;search=Search" target="_blank">Dashboard</a> existentes. E como <a title="Adobe Flex" href="http://www.igormusardo.com.br/category/flex/" target="_blank">Flex</a> é a grande vedete na construções de <a title="Dashboard" href="http://www.igormusardo.com.br/?s=dashboard&amp;search=Search" target="_blank">Dashboard</a>, devido sua dinamicidade e beleza intrínseca, nada melhor do que mostrar na prática como construir um <a title="Dashboard" href="http://www.igormusardo.com.br/?s=dashboard&amp;search=Search" target="_blank">Dashboard</a> em <a title="Adobe Flex" href="http://www.igormusardo.com.br/category/flex/" target="_blank">Flex</a> integrado com <a title="ASP.NET MVC" href="http://www.igormusardo.com.br/?s=asp.net+mvc&amp;search=Search" target="_blank">ASP.NET MVC</a>.</p>
<p>Mais de 250 pessoas estiveram online na palestra, o que gerou um bate-papo muito interessante ao final da palestra no momento de perguntas e respostas.</p>
<p>Se você não pode comparecer, veja agora a <a title="Gravação da Palestra: Decisões corretas através de dashboards dinâmicos em Flex e ASP.NET MVC" href="https://admin.na3.acrobat.com/_a204547676/p87652923/" target="_blank">gravação da palestra</a> que o <a title="Igor Costa" href="http://www.igorcosta.com/blog/" target="_blank">Igor Costa</a> disponibilizou no site do <a title="Flex Mania 2010" href="http://www.flexmania.com.br" target="_blank">Flex Mania 2010</a>.</p>
<p>Disponibilizei os slides da palestra no <a href="http://www.slideshare.net/IgorMusardo" target="_blank">Slideshare</a>.</p>
<div id="__ss_4715082" style="margin: auto; width: 425px;"><strong><a title="Decisões corretas através de dashboards dinâmicos em flex e asp.net" href="http://www.slideshare.net/IgorMusardo/decises-corretas-atravs-de-dashboards-dinmicos-em-flex-e-aspnet">Decisões corretas através de dashboards dinâmicos em flex e asp.net</a></strong><object id="__sse4715082" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=decisescorretasatravsdedashboardsdinmicosemflexeasp-net-100708211208-phpapp01&amp;stripped_title=decises-corretas-atravs-de-dashboards-dinmicos-em-flex-e-aspnet" /><param name="name" value="__sse4715082" /><param name="allowfullscreen" value="true" /><embed id="__sse4715082" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=decisescorretasatravsdedashboardsdinmicosemflexeasp-net-100708211208-phpapp01&amp;stripped_title=decises-corretas-atravs-de-dashboards-dinmicos-em-flex-e-aspnet" name="__sse4715082" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/IgorMusardo">Igor Musardo</a>.</div>
</div>
<p>E os arquivos fontes que demonstrei durante a palestra estão disponíveis para <a title="Download dos códigos-fontes" href="http://www.igormusardo.com.br/arquivos/FlexMania2010.rar" target="_blank">download aqui</a>.</p>
<p>Baixe e fique a vontade para estudar, perguntar, elogiar e/ou criticar!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/08/03/decisoes-corretas-atraves-de-dashboards-dinamicos-em-flex-e-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Palestras presenciais</title>
		<link>http://igormusardo.com.br/2010/07/20/palestras-presenciais/</link>
		<comments>http://igormusardo.com.br/2010/07/20/palestras-presenciais/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 03:14:22 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[Blip.Tv]]></category>
		<category><![CDATA[Slideshare]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/2010/07/20/palestras-presenciais/</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F07%2F20%2Fpalestras-presenciais%2F&title=Palestras+presenciais&desc=Salve%2C+salve+developers%2C+andei+bem+sumido+aqui+do+Blog%2C+pois+tenho+concentrado+minhas+contribui%C3%A7%C3%B5es+com+a+comunidade+atrav%C3%A9s+do+Twitter.++++++++++++UTFPR+%E2%80%93+VII+Semana+Acad%C3%AAmica+de+Inform%C3%A1tica++&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Salve, salve developers, andei bem sumido aqui do Blog, pois tenho concentrado minhas contribuições com a comunidade através do Twitter. UTFPR – VII Semana Acadêmica de Informática Bem, nesse período tive a oportunidade de palestrar em duas faculdades aqui em Curitiba, UTFPR, no dia 4 de maio de 2010 na VII Semana Acadêmica de Informática&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F07%2F20%2Fpalestras-presenciais%2F&title=Palestras+presenciais&desc=Salve%2C+salve+developers%2C+andei+bem+sumido+aqui+do+Blog%2C+pois+tenho+concentrado+minhas+contribui%C3%A7%C3%B5es+com+a+comunidade+atrav%C3%A9s+do+Twitter.++++++++++++UTFPR+%E2%80%93+VII+Semana+Acad%C3%AAmica+de+Inform%C3%A1tica++&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Salve, salve developers, andei bem sumido aqui do <strong>Blog</strong>, pois tenho concentrado minhas contribuições com a comunidade através do <a href="http://twitter.com/IgorMusardo" target="_blank"><strong>Twitter</strong></a>.</p>
<div style="float: left">
<p align="center"><a href="http://www.igormusardo.com.br/wp-content/uploads/2010/07/Palestra_UTFPR_VIISemanaAcademica.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" class="wlDisabledImage" title="" border="0" alt="" src="http://www.igormusardo.com.br/wp-content/uploads/2010/07/Palestra_UTFPR_VIISemanaAcademica_thumb.jpg" width="240" height="180" /></a>       <br /><font size="1">UTFPR – VII Semana Acadêmica de Informática</font></p>
</p></div>
<p>Bem, nesse período tive a oportunidade de palestrar em duas faculdades aqui em <a href="http://igormusardo.com.br/tag/curitiba/" target="_blank"><strong>Curitiba</strong></a>, <a href="http://www.utfpr.edu.br/" target="_blank"><strong>UTFPR</strong></a>, no dia 4 de maio de 2010 na VII Semana Acadêmica de Informática da UTFPR,</p>
<p>e <a href="http://www.opet.com.br" target="_blank"><strong>Faculdades OPET</strong></a>, no dia 19 de maio de 2010 na Semana Acadêmica de Informática da OPET.</p>
<p>Nas duas oportunidades apresentei a plataforma de desenvolvimento de RIA da Adobe, inclundo algumas novidades do Flex 4 e Flash Builder 4. Ao final da palestra mostrei como é fácil a integração entre o Flex e o PHP, você não leu errado, eu mostrei mesmo a integração entre o Flex e PHP :-D.</p>
<p>Essa palestra é altamente recomendada para quem está chegando hoje ao mundo RIA e quer conhecer um pouco mais sobre as Rich Internet Application e ao novo Adobe Flex 4 e o Adobe Flash builder 4.</p>
<p>Os slides que utilizei nas palestras:</p>
<p> <center>
<div style="width: 425px" id="__ss_3971762"><strong style="margin: 12px 0px 4px; display: block"><a title="Desenvolvimento de Rich Internet Application com Flex 4 e Flash Builder 4" href="http://www.slideshare.net/IgorMusardo/desenvolvimento-de-rich-internet-application-com-flex-4-e-flash-builder-4">Desenvolvimento de Rich Internet Application com Flex 4 e Flash Builder 4</a></strong><object id="__sse3971762" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flex4eflashbuilder4-100504212554-phpapp01&amp;stripped_title=desenvolvimento-de-rich-internet-application-com-flex-4-e-flash-builder-4" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed name="__sse3971762" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flex4eflashbuilder4-100504212554-phpapp01&amp;stripped_title=desenvolvimento-de-rich-internet-application-com-flex-4-e-flash-builder-4" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/IgorMusardo">Igor Musardo</a>.</div>
</p></div>
<p> </center>
<p>&#160;</p>
<p>A palestra na <strong>OPET</strong>, a minha esposa, <a href="http://twitter.com/FernandaMusardo" target="_blank"><strong>Fernanda Musardo</strong></a> conseguiu filmar.</p>
<p>  <center><embed src="http://blip.tv/play/AYHgjD4A" type="application/x-shockwave-flash" width="360" height="294" allowscriptaccess="always" allowfullscreen="true"></embed></center></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/07/20/palestras-presenciais/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maratona de treinamento On-Line sobre Adobe Flex</title>
		<link>http://igormusardo.com.br/2010/02/04/maratona-de-treinamento-on-line-sobre-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2010/02/04/maratona-de-treinamento-on-line-sobre-adobe-flex/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 23:45:16 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=866</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F02%2F04%2Fmaratona-de-treinamento-on-line-sobre-adobe-flex%2F&title=Maratona+de+treinamento+On-Line+sobre+Adobe+Flex&desc=Olha+s%C3%B3%2C+10+palestras+sobre+Adobe+Flex+com+conte%C3%BAdo+excepcional+e+extremamente+pr%C3%A1tico%3A%0D%0A%0D%0ACorra%2C+pois+a+maratona+%C3%A9+agora+dia+06%2Ffev%2F2010.%0D%0A%0D%0AFazendo+sua+inscri%C3%A7%C3%A3o+voc%C3%AA%2C+al%C3%A9m+de+ajudar+o+Cotol&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Olha só, 10 palestras sobre Adobe Flex com conteúdo excepcional e extremamente prático: Corra, pois a maratona é agora dia 06/fev/2010. Fazendo sua inscrição você, além de ajudar o Cotolengo, pois essa maratona é beneficiente, você concorrerá ao final do evento à um Magic Mouse da Apple (oferencimento do Fábio Vedovelli) e à um Adobe&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F02%2F04%2Fmaratona-de-treinamento-on-line-sobre-adobe-flex%2F&title=Maratona+de+treinamento+On-Line+sobre+Adobe+Flex&desc=Olha+s%C3%B3%2C+10+palestras+sobre+Adobe+Flex+com+conte%C3%BAdo+excepcional+e+extremamente+pr%C3%A1tico%3A%0D%0A%0D%0ACorra%2C+pois+a+maratona+%C3%A9+agora+dia+06%2Ffev%2F2010.%0D%0A%0D%0AFazendo+sua+inscri%C3%A7%C3%A3o+voc%C3%AA%2C+al%C3%A9m+de+ajudar+o+Cotol&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Olha só, <strong>10 palestras sobre Adobe Flex com conteúdo excepcional e extremamente prático</strong>:</p>
<p><a href="http://www.flexforkids.com/site/institutional" target="_blank">Corra, pois a maratona é agora dia 06/fev/2010.</a></p>
<p>Fazendo sua <a href="http://www.flexforkids.com/site/institutional" target="_blank">inscrição</a> você, além de ajudar o <a href="http://www.flexforkids.com/site/favored" target="_blank">Cotolengo</a>, pois essa maratona é beneficiente, você concorrerá ao final do evento à um <a href="http://www.apple.com/br/magicmouse/" target="_blank">Magic Mouse da Apple</a> (oferencimento do <a href="http://www.vedovelli.com.br/" target="_blank">Fábio Vedovelli</a>) e à um <a href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex Builder Pro</a> (oferecimento do meu chará <a href="http://www.igorcosta.com/blog/" target="_blank">Igor Costa</a>).</p>
<p>A <a href="http://www.flexforkids.com/site/institutional" target="_blank">inscrição</a> tem um valor simbólico de <span style="color: #ff0000;"><strong>R$ 30,00</strong></span>.</p>
<p>Além disso, todas as palestras <strong>serão gravadas</strong> e estarão disponíveis <strong>15 dias</strong> após o evento para todas as pessoas que fizerem sua <a href="http://www.flexforkids.com/site/institutional" target="_blank">doação</a>. Por isso, mesmo que você não possa estar on-line agora dia <strong>06/fev/2010</strong>, não deixe de fazer sua <a href="http://www.flexforkids.com/site/institutional" target="_blank">doação</a>, pois você fará o download de <strong>TODAS </strong>as palestras e poderá assistí-las quantas vezes quiser.</p>
<p>+ de 320 pessoas já se inscreveram nesta maratona, <a href="http://www.flexforkids.com/site/institutional" target="_blank">faça parte você também</a>.</p>
<p>Confira abaixo quais os conteúdos que serão abordados na maratona.</p>
<div id="programming">
<div id="information">
<div>
<h2>Desenvolvimento Multi-touch com AIR 2.0</h2>
<p>Nesta palestra o participante irá conhecer a API  Multi-touch introduzida na versão 2.0 do Adobe Integrated Runtime, que  traz grande facilidade para o desenvolvimento de aplicações explorando  este recurso.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores, gerentes de  projeto e entusiastas no desenvolvimento de soluções utilizando o AIR  2.0</p>
<p><strong>Duração:</strong> 30 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Construa painéis administrativos em Flex  integrados com ASP.NET MVC.</h2>
<p>Você verá na prática como integrar o Flex com a nova  abordagem MVC do ASP.NET, indo além do CRUD.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex que  utilizem ou querem utilizar o ASP.NET MVC como Back-End.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Swiz Framework: MVC Simples e Poderoso  para projetos Flex/AIR</h2>
<p>Essa palestra visa mostrar a brutal diferença entre  seus &#8220;concorrentes&#8221; e entender melhor a &#8220;conceptual constraint&#8221; que  levou os autores do Swiz Framework a desenvolverem uma solução simples e  flexível para projetos Flex/AIR, em relação aos demais frameworks  conhecidos. (Cainrgorm, PureMVC, Mate, etc). <strong>Pré requisito:</strong> Conhecer &#8220;Dependency Injection&#8221; (DI)  e &#8220;Inverse of Control&#8221; (IoC).</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Flex e VOIP: Adicione essa  tecnologia em suas aplicações</h2>
<p>Essa palestra tem por objetivo demonstrar a  desenvolvedores Flex como implementar em suas aplicações funcionalidades  de um discador VOIP, usando soluções open source.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Desktop com HTML, Javascript e   Adobe AIR</h2>
<p>Conheça um novo mundo de possibilidades e tecnologias  com Javascript e HTML para desktop e descubra como Adobe Air se integra  a este ambiente, utilizando como case o PomoDo.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores de qualquer  linguagem.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Estudo de caso: User Experience em um RIA</h2>
<p>Será debatido um estudo de caso onde implementamos um  mecanismo de busca semântica através do design (!) A interface apenas  pode ser viabilizada pela alta capacidade de componentização do Flex e  porque entendemos o que o usuário precisava fazer com a interface.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex e  designers de todos os credos e cores.</p>
<p><strong>Duração:</strong> 30 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Desmistificando o Cairngorm</h2>
<p>O Cairngorm é considerado por muitos como um  framework com uma curva de aprendizado elevada. A finalidade desta  palestra é desvendar o Cairngorm utilizando uma abordagem diferenciada,  com o objetivo  de facilitar o aprendizado do mesmo.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div>
<div>
<h2>Introdução ao Mate: a importância de um  framework MVC para Flex</h2>
<p>Muitos ainda não se convenceram da necessidade da  utilização de um dos frameworks MVC (Model &#8211; View &#8211; Controller)  presentes no mercado e esta palestra tem como objetivo mostrar a sua  importância e indicar o framework escolhido pela RIA Labs.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Flex.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="programming">
<div id="information">
<div>
<h2>Coloque uma interface Flex em seus  projetos JEE</h2>
<p>Entenda como funciona a integração Adobe Flex com  todos os serializadores disponíveis no mercado (BlazeDs,  LivecycleDs,WebOrb for java,Pimento,Red5) para integração com seu  back-end Java e crie novas ferramentas com recursos ímpar para seu  negócio.</p>
<p><strong>Público Alvo:</strong> Desenvolvedores Java.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
</div>
<div id="information">
<div>
<h2>O Quarteto Fantástico: Flash 10.1,  Flex 4, Flash Catalyst e Flash Builder</h2>
<p>Como as principais novidades da Plataforma Flash  poderão impactar o desenvolvimento de Rich Internet Applications.</p>
<p><strong>Público Alvo:</strong> Pessoas interessadas no  desenvolvimento de Rich Internet Applications.</p>
<p><strong>Duração:</strong> 50 minutos.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/02/04/maratona-de-treinamento-on-line-sobre-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Manifesto Flex For Kids</title>
		<link>http://igormusardo.com.br/2010/01/15/manifesto_flex_for_kids/</link>
		<comments>http://igormusardo.com.br/2010/01/15/manifesto_flex_for_kids/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 11:30:29 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Treinamento]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=844</guid>
		<description><![CDATA[Durante anos estivemos dedicados ao desenvolvimento de Aplicações Ricas. Durante anos estivemos dedicados a tecnologias como o Adobe Flex, BlazeDS, LiveCycle Data Services, Zend AMF, AMF PHP, Adobe Flash Professional, Flash Media Server, etc. Mas, principalmente, durante anos estivemos dedicados a compartilhar o nosso conhecimento com a comunidade. Na Flex Brasil , na FlexDev e em nossos blogs é provável que você já tenha encontrado algo que procura. E nunca pedimos nada em troca.

O que nos move não é nada material, mas sim a paixão pelo que fazemos e a convicção de que ao nos doar um pouco para a comunidade estamos ajudando e evoluindo conseqüentemente. Por estes mesmos motivos, estaremos todos reunidos dia 06 de fevereiro de 2010.

Temos muitas coisas que amamos para compartilhar com vocês. Porém, desta vez, queremos algo em troca. Algo que com certeza não lhe fará falta, mas que fará a diferença na vida das crianças do Cotolengo . Ganham vocês. Ganhamos nós. E, principalmente, ganham as crianças do Cololengo .

Assinam o Manifesto:
Beck Novaes, Carlos Eduardo, Daniel Lopes, Ebertom Consolim, Eric Cavalcanti, Fabio Vedovelli, Gabriela Perry, Igor Costa, Igor Musardo, Mario Junior e Vicente Maciel Junior.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F01%2F15%2Fmanifesto_flex_for_kids%2F&title=Manifesto+Flex+For+Kids&desc=%5Bcaption+id%3D%22attachment_845%22+align%3D%22alignleft%22+width%3D%22238%22+caption%3D%22Desenho+criado+por+uma+crian%C3%A7a+da+Cotolengo%22%5D%5B%2Fcaption%5D%0D%0A%0D%0ADurante+anos+estivemos+dedicados+ao+desenvolvimento+de+Aplica%C3%A7%C3%B5es+Rica&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><div id="attachment_845" class="wp-caption alignleft" style="width: 248px"><img class="size-full wp-image-845 " title="Desenho criado por uma criança da Cotolengo" src="http://www.igormusardo.com.br/wp-content/uploads/2010/01/ManifestoFlexForKids.jpg" alt="Manifesto Flex For Kids" width="238" height="300" /><p class="wp-caption-text">Desenho criado por uma criança da Cotolengo</p></div>
<p>Durante anos estivemos dedicados ao desenvolvimento de Aplicações Ricas. Durante anos estivemos dedicados a tecnologias como o Adobe Flex, BlazeDS, LiveCycle Data Services, Zend AMF, AMF PHP, Adobe Flash Professional, Flash Media Server, etc. Mas, principalmente, durante anos estivemos dedicados a compartilhar o nosso conhecimento com a comunidade. <a href="http://br.groups.yahoo.com/group/flex-brasil" target="_blank">Na Flex Brasil</a> , na <a href="http://groups.google.com.br/group/flexdev" target="_blank">FlexDev</a> e em nossos blogs é provável que você já tenha encontrado algo que procura. E nunca pedimos nada em troca.</p>
<p>O que nos move não é nada material, mas sim a paixão pelo que fazemos e a convicção de que ao nos doar um pouco para a comunidade estamos ajudando e evoluindo conseqüentemente. Por estes mesmos motivos, estaremos todos reunidos dia 06 de fevereiro de 2010.</p>
<p>Temos muitas coisas que amamos para compartilhar com vocês. Porém, desta vez, queremos algo em troca. Algo que com certeza não lhe fará falta, mas que fará a diferença na vida <a href="http://www.cotolengo.com.br/" target="_blank">das crianças do Cotolengo</a> . Ganham vocês. Ganhamos nós. E, principalmente, ganham <a href="http://www.cotolengo.com.br/" target="_blank">as crianças do Cololengo</a> .</p>
<p><strong>Assinam o Manifesto: </strong><br />
<a href="http://www.becklog.org/" target="_blank">Beck Novaes</a><a>, </a><a href="http://blog.egenial.com.br/" target="_blank">Carlos Eduardo</a>, <a href="http://blog.areacriacoes.com.br/" target="_blank">Daniel Lopes</a>, <a href="http://www.flexdev.com.br/site/" target="_blank">Ebertom Consolim</a>, <a href="https://twitter.com/ericoc" target="_blank">Eric Cavalcanti</a>, <a href="http://vedovelli.com.br/" target="_blank">Fabio Vedovelli</a>, Gabriela Perry, <a href="http://www.igorcosta.com/blog" target="_blank">Igor Costa</a>, <a href="../" target="_blank">Igor Musardo</a>, Mario Junior e <a href="http://twitter.com/macieljr" target="_blank">Vicente Maciel Junior</a>.</p>
<p><a href="http://www.flexforkids.com/inscriptions" target="_blank"><strong>Registre-se agora no Flex for Kids</strong></a> e <a href="http://www.cotolengo.com.br/" target="_blank">ajude as crianças do Cotolengo</a> . Porque alguém, já ajudou você um dia (e de quebra assista palestras que estão sendo preparadas com a mesma paixão de sempre).</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/01/15/manifesto_flex_for_kids/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aprenda mais sobre Adobe Flex e ajude a quem precisa</title>
		<link>http://igormusardo.com.br/2010/01/13/aprenda-mais-sobre-adobe-flex-e-ajude-a-quem-precisa/</link>
		<comments>http://igormusardo.com.br/2010/01/13/aprenda-mais-sobre-adobe-flex-e-ajude-a-quem-precisa/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 15:50:31 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=849</guid>
		<description><![CDATA[O Flex for Kids é uma maratona de palestras on-line que será realizado no dia 06/02/2010 e contará com grandes nomes da comunidade Adobe Flex brasileira além deste que vos escreve.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F01%2F13%2Faprenda-mais-sobre-adobe-flex-e-ajude-a-quem-precisa%2F&title=Aprenda+mais+sobre+Adobe+Flex+e+ajude+a+quem+precisa&desc=+O+Flex+for+Kids+%C3%A9+uma+maratona+de+palestras+on-line+que+ser%C3%A1+realizado+no+dia+06%2F02%2F2010+e+contar%C3%A1+com+grandes+nomes+da+comunidade+Adobe+Flex+brasileira+al%C3%A9m+deste+que+vos+escreve.%0D%0A%0D%0ASer%C3%A3o+10+p&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><img class="alignleft size-full wp-image-850" title="Flex For Kids" src="http://www.igormusardo.com.br/wp-content/uploads/2010/01/FlexForKids.jpg" alt="Flex For Kids" width="327" height="235" /> O <a title="Flex for Kids" href="http://www.flexforkids.com" target="_blank"><strong>Flex for Kids</strong></a> é uma maratona de <strong>palestras on-line</strong> que será realizado no dia <strong>06/02/2010</strong> e contará com <a href="http://www.flexforkids.com/site/programming" target="_blank"><strong>grandes nomes</strong> da comunidade <strong>Adobe Flex</strong> brasileira</a> além <a href="http://www.igormusardo.com.br/about/" target="_blank">deste que vos escreve</a>.</p>
<p>Serão <a href="http://www.flexforkids.com/site/programming" target="_blank"><strong>10 palestras on-line ao vivo</strong></a> durante o dia inteiro, usando um ambiente de eventos multimídia onde os palestrantes ministrarão seus temas através de recursos de áudio, vídeo, slides e chat disponibilizado pela <a href="http://www.egenialsas.com.br/" target="_blank">E-Genial</a>.</p>
<p>Qualquer pessoa, empresa ou faculdade poderá participar do <a title="Flex for Kids" href="http://www.flexforkids.com/" target="_blank"><strong>Flex for Kids</strong></a>, para isto basta fazer uma doação de um <strong>valor simbólico</strong> de <strong>R$ 30,00</strong> para ter acesso as <strong>10 palestras on-line</strong> e suas <strong>gravações</strong> que serão disponibilizadas <strong>15 dias</strong> após o evento. <strong><a href="http://www.flexforkids.com/inscriptions" target="_blank">Por isso não há desculpas para você não participar</a>.</strong></p>
<p>Todo dinheiro arrecadado será doado ao <a title="Cotolengo" href="http://www.flexforkids.com/site/favored" target="_blank">Cotolengo de Mato Grosso do Sul</a>.</p>
<p><a href="http://www.flexforkids.com/inscriptions" target="_blank">Garanta logo sua vaga</a> e ajude a divulgar o evento para sua rede de contatos, assim como a <a href="http://info.abril.com.br/noticias/carreira/palestras-sobre-flex-tem-causa-social-13012010-10.shl" target="_blank">Info Online</a> fez.</p>
<p>Acesse o site do evento para maiores informações e inscrição: <a href="http://flexforkids.com" target="_blank">http://flexforkids.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/01/13/aprenda-mais-sobre-adobe-flex-e-ajude-a-quem-precisa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex Erro #1034: N&#227;o &#233; poss&#237;vel converter DragManagerImpl em IDragManager</title>
		<link>http://igormusardo.com.br/2010/01/05/flex-erro-1034-nao-e-possivel-converter-dragmanagerimpl-em-idragmanager/</link>
		<comments>http://igormusardo.com.br/2010/01/05/flex-erro-1034-nao-e-possivel-converter-dragmanagerimpl-em-idragmanager/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 11:00:22 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DataGrid]]></category>
		<category><![CDATA[Dica]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=832</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F01%2F05%2Fflex-erro-1034-nao-e-possivel-converter-dragmanagerimpl-em-idragmanager%2F&title=Flex+Erro+%231034%3A+N%26atilde%3Bo+%26eacute%3B+poss%26iacute%3Bvel+converter+DragManagerImpl+em+IDragManager&desc=Dias+atr%C3%A1s+me+deparei+com+o+erro+abaixo%3A%0D%0A%0D%0AEsse+erro+ocorria+sempre+ao+acessar+dois+m%C3%B3dulos+que+tivessem+DataGrid+com+eventos+de+clique.+Acessando+o+primeiro+m%C3%B3dulo%2C+tudo+funcionava+perfeitamente%2C&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Dias atrás me deparei com o erro abaixo: Esse erro ocorria sempre ao acessar dois módulos que tivessem DataGrid com eventos de clique. Acessando o primeiro módulo, tudo funcionava perfeitamente, porém ao acessar o segundo módulo e clicar em qualquer parte da DataGrid, o erro surgia. Após várias pesquisas acabei encontrando duas soluções. 1ª Solução:&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2010%2F01%2F05%2Fflex-erro-1034-nao-e-possivel-converter-dragmanagerimpl-em-idragmanager%2F&title=Flex+Erro+%231034%3A+N%26atilde%3Bo+%26eacute%3B+poss%26iacute%3Bvel+converter+DragManagerImpl+em+IDragManager&desc=Dias+atr%C3%A1s+me+deparei+com+o+erro+abaixo%3A%0D%0A%0D%0AEsse+erro+ocorria+sempre+ao+acessar+dois+m%C3%B3dulos+que+tivessem+DataGrid+com+eventos+de+clique.+Acessando+o+primeiro+m%C3%B3dulo%2C+tudo+funcionava+perfeitamente%2C&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Dias atrás me deparei com o erro abaixo:</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2010/01/DragManagerError.jpg" target="_blank"><img style="display: inline; border: 0px;" title="Não é possível converter DragManagerImpl em IDragManager" src="http://www.igormusardo.com.br/wp-content/uploads/2010/01/DragManagerError_thumb.jpg" border="0" alt="Não é possível converter DragManagerImpl em IDragManager" width="540" height="177" /></a></p>
<p>Esse erro ocorria sempre ao acessar dois módulos que tivessem DataGrid com eventos de clique. Acessando o primeiro módulo, tudo funcionava perfeitamente, porém ao acessar o segundo módulo e clicar em qualquer parte da DataGrid, o erro surgia.</p>
<p>Após várias pesquisas acabei encontrando duas soluções.</p>
<p><strong>1ª Solução:</strong></p>
<p>Mude o modo de linkagem do framework para <strong>Runtime Shared Library (RSL)</strong>, disponível em:</p>
<p><strong>Project Properties</strong> | <strong>Flex Build Path</strong> | <strong>Library Path</strong> | <strong>Framework linkage</strong></p>
<p>Conforme na imagem abaixo:</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2010/01/DragManagerSolution.png" target="_blank"><img style="display: inline; border: 0px initial initial;" title="Runtime shared library" src="http://www.igormusardo.com.br/wp-content/uploads/2010/01/DragManagerSolution_thumb.png" border="0" alt="DragManagerSolution" width="541" height="221" /></a></p>
<p><strong>2ª solução:</strong></p>
<p>Mude o Application Domain do ModuleLoader para currentDomain.</p>
<pre>var Mod:ModuleLoader = new ModuleLoader();
Mod.applicationDomain = ApplicationDomain.currentDomain;</pre>
<p>Pronto, utilizando qualquer uma das soluções seu projeto agora funcionará perfeitamente.</p>
<p>Divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2010/01/05/flex-erro-1034-nao-e-possivel-converter-dragmanagerimpl-em-idragmanager/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Gráfico Cascata (Waterfall Chart aka Flying Bricks Chart) no Flex</title>
		<link>http://igormusardo.com.br/2009/05/06/grafico-cascata-waterfall-chart-aka-flying-bricks-chart-no-flex/</link>
		<comments>http://igormusardo.com.br/2009/05/06/grafico-cascata-waterfall-chart-aka-flying-bricks-chart-no-flex/#comments</comments>
		<pubDate>Wed, 06 May 2009 04:15:26 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[DataProvider]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[DRE]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=647</guid>
		<description><![CDATA[Após um longo período sem artigos, volto a ativa com um bem interessante e bastante usual para quem desenvolve sistemas de apoio a decisão e sistemas de business intelligence.

Neste artigo demonstro como desenvolver um gráfico cascata em Adobe Flex estendendo um ColumnChart de forma simples.
]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F05%2F06%2Fgrafico-cascata-waterfall-chart-aka-flying-bricks-chart-no-flex%2F&title=Gr%C3%A1fico+Cascata+%28Waterfall+Chart+aka+Flying+Bricks+Chart%29+no+Flex&desc=Ap%C3%B3s+um+longo+per%C3%ADodo+sem+artigos%2C+volto+a+ativa+com+um+bem+interessante+e+bastante+usual+para+quem+desenvolve+sistemas+de+apoio+a+decis%C3%A3o+e+sistemas+de+business+intelligence.%0D%0A%0D%0AO+gr%C3%A1fico+de+casc&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Após um longo período sem artigos, volto a ativa com um bem interessante e bastante usual para quem desenvolve <a href="http://pt.wikipedia.org/wiki/Sistema_de_suporte_à_decisão" target="_blank"><strong>sistemas de apoio a decisão</strong></a> e <a href="http://pt.wikipedia.org/wiki/Business_intelligence" target="_blank"><strong>sistemas de business intelligence</strong></a>.</p>
<p>O <a href="http://en.wikipedia.org/wiki/Waterfall_chart" target="_blank"><strong>gráfico de cascata</strong> (<strong>waterfall</strong>, também conhecido como, <strong>flying bricks chart</strong> em inglês)</a> é uma ferramenta que facilita a demonstração de parcelas de um valor. Ele é muito utilizado na apresentação da divisão da receita e exibição do que resta de lucro em DRE, da entrada de caixa ao saldo final em demonstrativos de Fluxo de Caixa, mas pode-se utilizá-lo em qualquer situação em que seja necessário mostrar a “quebra” de um número.</p>
<p>Neste artigo vou demonstrar como desenvolver um <strong>gráfico de cascata</strong> em <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a> estendendo um <a href="http://livedocs.adobe.com/flex/3/langref/mx/charts/ColumnChart.html" target="_blank">ColumnChart</a> de forma simples obtendo como resultado o exemplo abaixo.</p>
<p><object width="519" height="267" data="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfallfinance.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="bgcolor" value="#869ca7" /><param name="allowScriptAccess" value="sameDomain" /><param name="src" value="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfallfinance.swf" /><param name="name" value="WaterfallFinance" /><param name="align" value="middle" /></object></p>
<p><span id="more-647"></span>Primeiro precisamos entender qual a estrutura do gráfico de cascata. Ele é um <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=charts_types_06.html" target="_blank"><strong>gráfico de colunas</strong></a> do tipo empilhado (<strong>stacked</strong>) com 6 séries conforme demonstrado na figura abaixo:</p>
<p><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/graficomodelo.png" alt="Gráfico Waterfall Modelo" title="Gráfico Waterfall Modelo" width="505" height="248" class="aligncenter size-full wp-image-672" /></p>
<ul>
<li>1 &#8211; Base, que será invisível;</li>
<li>2 &#8211; Vermelho Positivo, série da cor vermelha que será exibida acima do zero, ex. (-) Custos no gráfico acima;</li>
<li>3 &#8211; Verde Positivo, série da cor verde que será exibida acima do zero, ex. Resultado não Op.;</li>
<li>4 &#8211; Vermelho Negativo, série da cor vermelha que será exibida abaixo do zero, ex. (-) Despesas;</li>
<li>5 &#8211; Verde Negativo, série da cor verde que será exibida abaixo do zero, ex. Resultado não Op.;</li>
<li>6 &#8211; Saldo, série da cor azul, ex. Lajir.</li>
</ul>
<p>No componente que criaremos apenas será necessário passar um <strong><a href="http://www.igormusardo.com.br/tag/dataprovider/" target="_blank">DataProvider</a></strong> com as colunas: <strong>eixo</strong>, <strong>valor</strong> e <strong>isSaldo</strong>. Com base nos dados deste <strong><a href="http://www.igormusardo.com.br/tag/dataprovider/" target="_blank">DataProvider</a></strong> o <strong>Gráfico Cascata</strong> criará todas as 6 séries necessárias, já com os valores calculados.</p>
<p>Veja como o componente é implementado abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">package br.<span style="color: #006600;">com</span>.<span style="color: #006600;">igormusardo</span>.<span style="color: #006600;">component</span>.<span style="color: #006600;">chart</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">charts</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">charts</span>.<span style="color: #006600;">chartClasses</span>.<span style="color: #006600;">IAxis</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">charts</span>.<span style="color: #006600;">series</span>.<span style="color: #006600;">ColumnSeries</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">charts</span>.<span style="color: #006600;">series</span>.<span style="color: #006600;">ColumnSet</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">charts</span>.<span style="color: #006600;">series</span>.<span style="color: #006600;">items</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">collections</span>.<span style="color: #006600;">ArrayCollection</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">effects</span>.<span style="color: #006600;">easing</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">formatters</span>.<span style="color: #006600;">NumberFormatter</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">GradientEntry</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">LinearGradient</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">SolidColor</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">Stroke</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">ObjectUtil</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> WaterfallChart <span style="color: #0066CC;">extends</span> ColumnChart
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _calculateRange:<span style="color: #0066CC;">Boolean</span>;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _backgroundColor:uint;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _best:<span style="color: #0066CC;">Number</span>;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _precision:<span style="color: #0066CC;">Number</span>;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _decimalSeparator:<span style="color: #0066CC;">String</span>;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _thousandsSeparator:<span style="color: #0066CC;">String</span>;
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> dataProviderOriginal:ArrayCollection = <span style="color: #000000; font-weight: bold;">new</span> ArrayCollection<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> format:NumberFormatter = <span style="color: #000000; font-weight: bold;">new</span> NumberFormatter;		
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnBase:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnSaldo:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnVermelhoPositivo:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnVerdePositivo:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnVermelhoNegativo:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span>	columnVerdeNegativo:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> WaterfallChart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	
			calculateRange = <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">backgroundColor</span> = 0xFFFFFF;
			best = <span style="color: #cc66cc;">1</span>;
			precision = <span style="color: #cc66cc;">0</span>;
			decimalSeparator = <span style="color: #ff0000;">','</span>;
			thousandsSeparator = <span style="color: #ff0000;">'.'</span>;			
			createChart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override protected <span style="color: #000000; font-weight: bold;">function</span> initializationComplete<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			changeStyles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">initializationComplete</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">//Propriedades </span>
		<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////////////////////////////</span>
		<span style="color: #808080; font-style: italic;">//calculateRange, quando Verdadeiro o componente calcula a diferença entre as séries, exibindo somente os valores que somaram ou reduziram de uma série para a outra.</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> calculateRange<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_calculateRange = value;
			changeDataProvider<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> calculateRange<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _calculateRange;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> <span style="color: #0066CC;">backgroundColor</span><span style="color: #66cc66;">&#40;</span>value:uint<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_backgroundColor = value;	
			changeStyles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> <span style="color: #0066CC;">backgroundColor</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:uint
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _backgroundColor;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//best, define qual é o melhor (1 melhor para cima, verde quando aumenta e vermelho quando diminui, 2 melhor para baixo, verde quando diminiui e vermelho quando aumente)</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> best<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_best = value;	
			changeDataProvider<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> best<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _best;	
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//precision, define o número de casas decimais.</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> precision<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_precision = value;
			format.<span style="color: #006600;">precision</span>=_precision;
		    invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    invalidateDisplayList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;   		
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> precision<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _precision;	
		<span style="color: #66cc66;">&#125;</span>	
&nbsp;
		<span style="color: #808080; font-style: italic;">//decimalSeparator, define qual o separador de decimal, padrão ,</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> decimalSeparator<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_decimalSeparator = value;	
    		format.<span style="color: #006600;">decimalSeparatorTo</span>=_decimalSeparator;
		    invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    invalidateDisplayList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;   		
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> decimalSeparator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _decimalSeparator;	
		<span style="color: #66cc66;">&#125;</span>	
&nbsp;
		<span style="color: #808080; font-style: italic;">//thousandsSeparator, define qual o separador de milhar, padrão .</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> thousandsSeparator<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_thousandsSeparator = value;	
    		format.<span style="color: #006600;">thousandsSeparatorTo</span>=_thousandsSeparator;
		    invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    invalidateDisplayList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;   		
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> thousandsSeparator<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _thousandsSeparator;	
		<span style="color: #66cc66;">&#125;</span>	
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> createChart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>		
		<span style="color: #66cc66;">&#123;</span>
			seriesFilters=<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
			dataTipMode=<span style="color: #ff0000;">&quot;single&quot;</span>;
			dataTipFunction=chartTipFunction;			
			maxLabelWidth=<span style="color: #cc66cc;">100</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> columnSet:ColumnSet = <span style="color: #000000; font-weight: bold;">new</span> ColumnSet<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> hAxis:CategoryAxis = <span style="color: #000000; font-weight: bold;">new</span> CategoryAxis<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #000000; font-weight: bold;">var</span> vAxis:LinearAxis = <span style="color: #000000; font-weight: bold;">new</span> LinearAxis<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #000000; font-weight: bold;">var</span> columnSerie:ColumnSeries = <span style="color: #000000; font-weight: bold;">new</span> ColumnSeries<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> stroke:Stroke;
			<span style="color: #000000; font-weight: bold;">var</span> linearGradient:LinearGradient;
			<span style="color: #000000; font-weight: bold;">var</span> solidColor:SolidColor;
			<span style="color: #000000; font-weight: bold;">var</span> gradientEntry:GradientEntry;
			<span style="color: #000000; font-weight: bold;">var</span> gradArray:<span style="color: #0066CC;">Array</span>;
&nbsp;
			vAxis.<span style="color: #006600;">labelFunction</span> = alteraLabelVertical;	
			verticalAxis = vAxis;
&nbsp;
			hAxis.<span style="color: #006600;">dataProvider</span> = <span style="color: #0066CC;">this</span>.<span style="color: #006600;">dataProvider</span>;
			hAxis.<span style="color: #006600;">categoryField</span> = <span style="color: #ff0000;">&quot;eixo&quot;</span>;
			hAxis.<span style="color: #006600;">labelFunction</span> = alteraLabelHorizontal;		
			horizontalAxis = hAxis;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Define o columnSet do gráfico</span>
			columnSet.<span style="color: #0066CC;">type</span> = <span style="color: #ff0000;">&quot;stacked&quot;</span>;
			columnSet.<span style="color: #006600;">allowNegativeForStacked</span> = <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrSaldo</span>
			<span style="color: #808080; font-style: italic;">//Define a configuração da linha</span>
			stroke = <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			stroke.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0</span>;
			stroke.<span style="color: #006600;">weight</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração Degradê de cores para a série vlrSaldo			</span>
			linearGradient = <span style="color: #000000; font-weight: bold;">new</span> LinearGradient<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linearGradient.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x003ea5;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">0</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
&nbsp;
			gradArray = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;		
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x0060ff;
			gradientEntry.<span style="color: #006600;">ratio</span> = .5;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x003ea5;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">1</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;						
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			linearGradient.<span style="color: #006600;">entries</span> = gradArray;
			<span style="color: #808080; font-style: italic;">//Fim configuração Degradê de cores para a série vlrSaldo</span>
&nbsp;
			columnSaldo.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrSaldo&quot;</span>;
			columnSaldo.<span style="color: #006600;">labelField</span> = <span style="color: #ff0000;">&quot;vlrSaldo&quot;</span>;
			columnSaldo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			columnSaldo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,linearGradient<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrSaldo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrSaldo às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnSaldo<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrBase</span>
&nbsp;
			columnBase.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrBase&quot;</span>;
			columnBase.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrSaldo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrBase às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnBase<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrVermelhoPositivo</span>
			<span style="color: #808080; font-style: italic;">//Define a configuração da linha</span>
			stroke = <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			stroke.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0</span>;
			stroke.<span style="color: #006600;">weight</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração Degradê de cores para a série vlrVermelhoPositivo			</span>
			linearGradient = <span style="color: #000000; font-weight: bold;">new</span> LinearGradient<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linearGradient.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xa50000;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">0</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
&nbsp;
			gradArray = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;		
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xff0000;
			gradientEntry.<span style="color: #006600;">ratio</span> = .5;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xa50000;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">1</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;						
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			linearGradient.<span style="color: #006600;">entries</span> = gradArray;
			<span style="color: #808080; font-style: italic;">//Fim configuração Degradê de cores para a série vlrVermelhoPositivo</span>
&nbsp;
			columnVermelhoPositivo.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrVermelhoPositivo&quot;</span>;
			columnVermelhoPositivo.<span style="color: #006600;">labelField</span> = <span style="color: #ff0000;">&quot;vlrVermelhoPositivo&quot;</span>;
			columnVermelhoPositivo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			columnVermelhoPositivo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,linearGradient<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrSaldo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrVermelhoPositivo às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnVermelhoPositivo<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrVerdePositivo</span>
			<span style="color: #808080; font-style: italic;">//Define a configuração da linha</span>
			stroke = <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			stroke.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0</span>;
			stroke.<span style="color: #006600;">weight</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração Degradê de cores para a série vlrVerdePositivo			</span>
			linearGradient = <span style="color: #000000; font-weight: bold;">new</span> LinearGradient<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linearGradient.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x00a500;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">0</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
&nbsp;
			gradArray = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;		
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x60ff00;
			gradientEntry.<span style="color: #006600;">ratio</span> = .5;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x00a500;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">1</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;						
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			linearGradient.<span style="color: #006600;">entries</span> = gradArray;
			<span style="color: #808080; font-style: italic;">//Fim configuração Degradê de cores para a série vlrVerdePositivo</span>
&nbsp;
			columnVerdePositivo.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrVerdePositivo&quot;</span>;
			columnVerdePositivo.<span style="color: #006600;">labelField</span> = <span style="color: #ff0000;">&quot;vlrVerdePositivo&quot;</span>;
			columnVerdePositivo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			columnVerdePositivo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,linearGradient<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrVerdePositivo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrVerdePositivo às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnVerdePositivo<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrVermelhoNegativo</span>
			<span style="color: #808080; font-style: italic;">//Define a configuração da linha</span>
			stroke = <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			stroke.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0</span>;
			stroke.<span style="color: #006600;">weight</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração Degradê de cores para a série vlrVermelhoNegativo			</span>
			linearGradient = <span style="color: #000000; font-weight: bold;">new</span> LinearGradient<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linearGradient.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xa50000;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">0</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
&nbsp;
			gradArray = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;		
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xff0000;
			gradientEntry.<span style="color: #006600;">ratio</span> = .5;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0xa50000;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">1</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;						
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			linearGradient.<span style="color: #006600;">entries</span> = gradArray;
			<span style="color: #808080; font-style: italic;">//Fim configuração Degradê de cores para a série vlrVermelhoNegativo</span>
&nbsp;
			columnVermelhoNegativo.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrVermelhoNegativo&quot;</span>;
			columnVermelhoNegativo.<span style="color: #006600;">labelField</span> = <span style="color: #ff0000;">&quot;vlrVermelhoNegativo&quot;</span>;
			columnVermelhoNegativo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			columnVermelhoNegativo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,linearGradient<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrVermelhoNegativo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrVermelhoNegativo às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnVermelhoNegativo<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #808080; font-style: italic;">//Início da configuração da série vlrVerdeNegativo</span>
			<span style="color: #808080; font-style: italic;">//Define a configuração da linha</span>
			stroke = <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			stroke.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0</span>;
			stroke.<span style="color: #006600;">weight</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração Degradê de cores para a série vlrVerdeNegativo			</span>
			linearGradient = <span style="color: #000000; font-weight: bold;">new</span> LinearGradient<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linearGradient.<span style="color: #006600;">angle</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x00a500;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">0</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
&nbsp;
			gradArray = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;		
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x60ff00;
			gradientEntry.<span style="color: #006600;">ratio</span> = .5;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			gradientEntry = <span style="color: #000000; font-weight: bold;">new</span> GradientEntry<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
			gradientEntry.<span style="color: #0066CC;">color</span> = 0x00a500;
			gradientEntry.<span style="color: #006600;">ratio</span> = <span style="color: #cc66cc;">1</span>;
			gradientEntry.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;						
			gradArray.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>gradientEntry<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			linearGradient.<span style="color: #006600;">entries</span> = gradArray;
			<span style="color: #808080; font-style: italic;">//Fim configuração Degradê de cores para a série vlrVerdeNegativo</span>
&nbsp;
			columnVerdeNegativo.<span style="color: #006600;">yField</span> = <span style="color: #ff0000;">&quot;vlrVerdeNegativo&quot;</span>;
			columnVerdeNegativo.<span style="color: #006600;">labelField</span> = <span style="color: #ff0000;">&quot;vlrVerdeNegativo&quot;</span>;
			columnVerdeNegativo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;stroke&quot;</span>,stroke<span style="color: #66cc66;">&#41;</span>;
			columnVerdeNegativo.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,linearGradient<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da série vlrVerdeNegativo</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Inclui a série vlrVerdeNegativo às séries do ColumnSet</span>
			columnSet.<span style="color: #006600;">series</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>columnVerdeNegativo<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">/////////////////////////////////////////////////////////////////////////////////</span>
			<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;columnWidthRatio&quot;</span>,<span style="color: #cc66cc;">0.9</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			series = <span style="color: #66cc66;">&#91;</span>columnSet<span style="color: #66cc66;">&#93;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//Métodos formatação do gráfico</span>
		<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////////////////////////////</span>
		<span style="color: #808080; font-style: italic;">//chartTipFunction, exibe o popup com os valores ao posicionar o mouse sobre a série.</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> chartTipFunction<span style="color: #66cc66;">&#40;</span>hitData:HitData<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
		<span style="color: #66cc66;">&#123;</span>		
			<span style="color: #b1b100;">return</span> format.<span style="color: #006600;">format</span><span style="color: #66cc66;">&#40;</span>hitData.<span style="color: #006600;">item</span>.<span style="color: #006600;">vlrValor</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> alteraLabelHorizontal<span style="color: #66cc66;">&#40;</span>item:<span style="color: #0066CC;">Object</span>, prevValue:<span style="color: #0066CC;">Object</span>, axis:CategoryAxis, categoryItem:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">String</span>=<span style="color: #ff0000;">&quot;&quot;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> tamanho:<span style="color: #0066CC;">int</span>=<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">length</span>;
&nbsp;
			retorno=<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> alteraLabelVertical<span style="color: #66cc66;">&#40;</span>item:<span style="color: #0066CC;">Object</span>, prevValue:<span style="color: #0066CC;">Object</span>, axis:IAxis<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
		<span style="color: #66cc66;">&#123;</span>				
			<span style="color: #b1b100;">return</span> format.<span style="color: #006600;">format</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> changeStyles<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//Início configuração da cor de fundo do gráfico</span>
			<span style="color: #000000; font-weight: bold;">var</span> bgi:GridLines = <span style="color: #000000; font-weight: bold;">new</span> GridLines<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			bgi.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;horizontalStroke&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> Stroke<span style="color: #66cc66;">&#40;</span>_backgroundColor, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			bgi.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;horizontalFill&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> SolidColor<span style="color: #66cc66;">&#40;</span>_backgroundColor, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			bgi.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;horizontalAlternateFill&quot;</span>, <span style="color: #000000; font-weight: bold;">new</span> SolidColor<span style="color: #66cc66;">&#40;</span>_backgroundColor, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
			backgroundElements = <span style="color: #66cc66;">&#91;</span>bgi<span style="color: #66cc66;">&#93;</span>
			<span style="color: #808080; font-style: italic;">//Fim configuração da cor de fundo do gráfico	</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//Início configuração da cor da série Base</span>
			<span style="color: #000000; font-weight: bold;">var</span> solidColor:SolidColor = <span style="color: #000000; font-weight: bold;">new</span> SolidColor<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			solidColor.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
			solidColor.<span style="color: #0066CC;">color</span> = _backgroundColor;
			columnBase.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;fill&quot;</span>,solidColor<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">//Fim configuração da cor da série Base</span>
&nbsp;
		    invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    invalidateDisplayList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">//Série base (invisível) do gráfico</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculaSerieBase<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>,vlrValorCorrente:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">Number</span>;
			<span style="color: #000000; font-weight: bold;">var</span> vlrSaldoAtual:<span style="color: #0066CC;">Number</span>=vlrSaldoAnterior+vlrValorCorrente;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&amp;&amp;</span> vlrSaldoAtual<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">||</span><span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&amp;&amp;</span> vlrSaldoAtual<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				retorno=<span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&amp;&amp;</span> vlrSaldoAtual<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					retorno=vlrSaldoAnterior-calculaSerieDebitoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
				<span style="color: #b1b100;">else</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&amp;&amp;</span> vlrSaldoAtual<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=vlrSaldoAnterior+calculaSerieCreditoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">&#125;</span>
					<span style="color: #b1b100;">else</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=<span style="color: #cc66cc;">0</span>;
					<span style="color: #66cc66;">&#125;</span>		
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//Série verde valor positivo</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculaSerieCreditoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>, vlrValorCorrente:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">Number</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				retorno=<span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&gt;</span>-vlrSaldoAnterior<span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=vlrValorCorrente+vlrSaldoAnterior;
					<span style="color: #66cc66;">&#125;</span>
					<span style="color: #b1b100;">else</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=<span style="color: #cc66cc;">0</span>;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
				<span style="color: #b1b100;">else</span>
				<span style="color: #66cc66;">&#123;</span>
					retorno=vlrValorCorrente;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>	
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">//Série verde valor negativo</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculaSerieCreditoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>, vlrValorCorrente:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">Number</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				retorno=<span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&gt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					retorno=<span style="color: #cc66cc;">0</span>;
				<span style="color: #66cc66;">&#125;</span>
				<span style="color: #b1b100;">else</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&gt;</span>-vlrSaldoAnterior<span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=vlrSaldoAnterior;
					<span style="color: #66cc66;">&#125;</span>
					<span style="color: #b1b100;">else</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=-vlrValorCorrente;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>	
&nbsp;
		<span style="color: #808080; font-style: italic;">//Série vermelho valor positivo</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculaSerieDebitoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>, vlrValorCorrente:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">Number</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&gt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				retorno=<span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&lt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					retorno=<span style="color: #cc66cc;">0</span>;
				<span style="color: #66cc66;">&#125;</span>
				<span style="color: #b1b100;">else</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&lt;</span>=<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">abs</span><span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=vlrSaldoAnterior;
					<span style="color: #66cc66;">&#125;</span>
					<span style="color: #b1b100;">else</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=-vlrValorCorrente;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">//Série vermelho valor negativo</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculaSerieDebitoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>, vlrValorCorrente:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> retorno:<span style="color: #0066CC;">Number</span>;
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&gt;</span>=<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				retorno=<span style="color: #cc66cc;">0</span>;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">else</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior<span style="color: #66cc66;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">abs</span><span style="color: #66cc66;">&#40;</span>vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&lt;</span>=vlrSaldoAnterior<span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=<span style="color: #cc66cc;">0</span>;
					<span style="color: #66cc66;">&#125;</span>
					<span style="color: #b1b100;">else</span>
					<span style="color: #66cc66;">&#123;</span>
						retorno=vlrSaldoAnterior+vlrValorCorrente;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
				<span style="color: #b1b100;">else</span>
				<span style="color: #66cc66;">&#123;</span>
					retorno=vlrValorCorrente;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #b1b100;">return</span> retorno;
		<span style="color: #66cc66;">&#125;</span>				
&nbsp;
		<span style="color: #808080; font-style: italic;">//Métodos Geração das séries</span>
		<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////////////////////////////</span>
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> dataProvider<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
    	<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>value is ArrayCollection<span style="color: #66cc66;">&#41;</span>
				dataProviderOriginal = value as ArrayCollection;
			<span style="color: #b1b100;">else</span>
				dataProviderOriginal = <span style="color: #000000; font-weight: bold;">new</span> ArrayCollection<span style="color: #66cc66;">&#40;</span>value as <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#41;</span>;
			changeDataProvider<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
     	<span style="color: #66cc66;">&#125;</span>
&nbsp;
     	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> changeDataProvider<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
     	<span style="color: #66cc66;">&#123;</span>    		
     		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dataProviderOriginal.<span style="color: #0066CC;">length</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
     			<span style="color: #b1b100;">return</span>;
&nbsp;
     		<span style="color: #000000; font-weight: bold;">var</span> value:<span style="color: #0066CC;">Object</span> = ObjectUtil.<span style="color: #0066CC;">copy</span><span style="color: #66cc66;">&#40;</span>dataProviderOriginal<span style="color: #66cc66;">&#41;</span>;
    		<span style="color: #000000; font-weight: bold;">var</span> dataProviderOriginalDP:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span>;
    		<span style="color: #000000; font-weight: bold;">var</span> vlrValorCorrente:<span style="color: #0066CC;">Number</span>;
    		<span style="color: #000000; font-weight: bold;">var</span> vlrSaldoAnterior:<span style="color: #0066CC;">Number</span>;
&nbsp;
    		<span style="color: #808080; font-style: italic;">//Verifica se o array é válido</span>
    		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>value<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">eixo</span>==<span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">||</span> value<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">valor</span>==<span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">||</span> value<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>
    		<span style="color: #66cc66;">&#123;</span>
    			<span style="color: #0066CC;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Error</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Array inválido, deve possuir os campos: eixo:String, valor:Number e isSaldo:Boolean'</span><span style="color: #66cc66;">&#41;</span>;
    			<span style="color: #b1b100;">return</span>;
    		<span style="color: #66cc66;">&#125;</span>
&nbsp;
    		format.<span style="color: #006600;">useNegativeSign</span>=<span style="color: #ff0000;">'-'</span>;
    		format.<span style="color: #006600;">useThousandsSeparator</span>=<span style="color: #000000; font-weight: bold;">true</span>;
    		format.<span style="color: #006600;">rounding</span>=<span style="color: #ff0000;">&quot;nearest&quot;</span>;	
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>calculateRange <span style="color: #66cc66;">&amp;&amp;</span> value <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span> = value.<span style="color: #006600;">length</span>-<span style="color: #cc66cc;">1</span>; <span style="color: #0066CC;">index</span> <span style="color: #66cc66;">&gt;</span>= <span style="color: #cc66cc;">0</span>; index--<span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">isSaldo</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>			
						<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
							value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">valor</span> = value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">valor</span> - value<span style="color: #66cc66;">&#91;</span>index-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">valor</span>;
					<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>==value.<span style="color: #006600;">length</span>-<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&amp;&amp;</span> value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">isSaldo</span> == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
					<span style="color: #66cc66;">&#123;</span>
						value.<span style="color: #006600;">addItem</span><span style="color: #66cc66;">&#40;</span>ObjectUtil.<span style="color: #0066CC;">copy</span><span style="color: #66cc66;">&#40;</span>value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
						value<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">isSaldo</span> = <span style="color: #000000; font-weight: bold;">false</span>;
					<span style="color: #66cc66;">&#125;</span>					
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
    		<span style="color: #808080; font-style: italic;">//Percorre o array de dataProviderOriginal, montando as séries do gráfico</span>
			<span style="color: #b1b100;">for</span> <span style="color: #b1b100;">each</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> Obj:<span style="color: #0066CC;">Object</span> <span style="color: #b1b100;">in</span> value<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
					vlrSaldoAnterior=<span style="color: #cc66cc;">0</span>;
&nbsp;
				vlrValorCorrente=Obj.<span style="color: #006600;">valor</span>;
&nbsp;
				dataProviderOriginalDP.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span>
							eixo:Obj.<span style="color: #006600;">eixo</span>,
							vlrSaldo:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?vlrValorCorrente:<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #808080; font-style: italic;">//Se for saldo PLOTA esta série</span>
							vlrBase:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?<span style="color: #cc66cc;">0</span>: <span style="color: #808080; font-style: italic;">//Se for saldo NÃO plota esta série</span>
														calculaSerieBase<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>,
							vlrVermelhoPositivo:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?<span style="color: #cc66cc;">0</span> <span style="color: #808080; font-style: italic;">//Se for saldo NÃO plota esta série</span>
																	:<span style="color: #66cc66;">&#40;</span>_best==<span style="color: #cc66cc;">2</span>? <span style="color: #808080; font-style: italic;">//Se for melhor pra baixo inverte a cor do melhor pra cima</span>
																				calculaSerieCreditoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>
																				:calculaSerieDebitoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>,
							vlrVerdePositivo:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?<span style="color: #cc66cc;">0</span> <span style="color: #808080; font-style: italic;">//Se for saldo NÃO plota esta série</span>
																	:<span style="color: #66cc66;">&#40;</span>_best==<span style="color: #cc66cc;">2</span>? <span style="color: #808080; font-style: italic;">//Se for melhor pra baixo inverte a cor do melhor pra cima</span>
																				calculaSerieDebitoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>
																				:calculaSerieCreditoPositivo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>,
							vlrVermelhoNegativo:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?<span style="color: #cc66cc;">0</span> <span style="color: #808080; font-style: italic;">//Se for saldo NÃO plota esta série</span>
																	:<span style="color: #66cc66;">&#40;</span>_best==<span style="color: #cc66cc;">2</span>? <span style="color: #808080; font-style: italic;">//Se for melhor pra baixo inverte a cor do melhor pra cima</span>
																				calculaSerieCreditoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>
																				:calculaSerieDebitoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>,
							vlrVerdeNegativo:<span style="color: #66cc66;">&#40;</span>Obj.<span style="color: #006600;">isSaldo</span>==<span style="color: #000000; font-weight: bold;">true</span>?<span style="color: #cc66cc;">0</span> <span style="color: #808080; font-style: italic;">//Se for saldo NÃO plota esta série</span>
																:<span style="color: #66cc66;">&#40;</span>_best==<span style="color: #cc66cc;">2</span>? <span style="color: #808080; font-style: italic;">//Se for melhor pra baixo inverte a cor do melhor pra cima</span>
																			calculaSerieDebitoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span>
																			:calculaSerieCreditoNegativo<span style="color: #66cc66;">&#40;</span>vlrSaldoAnterior,vlrValorCorrente<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>,
							vlrValor:vlrValorCorrente
						<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
				vlrSaldoAnterior+=vlrValorCorrente;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
    		<span style="color: #0066CC;">super</span>.<span style="color: #006600;">dataProvider</span> = dataProviderOriginalDP;
		    invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    invalidateDisplayList<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
     	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Para utilizar o  novo componente, utilize o código:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> xmlns:ns1=<span style="color: #ff0000;">&quot;br.com.igormusardo.component.chart.*&quot;</span> backgroundGradientAlphas=<span style="color: #ff0000;">&quot;[1.0, 1.0]&quot;</span> backgroundGradientColors=<span style="color: #ff0000;">&quot;[#FFFFFF, #FFFFFF]&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;">&lt;ns1:WaterfallChart id=<span style="color: #ff0000;">&quot;wfc&quot;</span> top=<span style="color: #ff0000;">&quot;10&quot;</span> left=<span style="color: #ff0000;">&quot;10&quot;</span> right=<span style="color: #ff0000;">&quot;10&quot;</span> bottom=<span style="color: #ff0000;">&quot;10&quot;</span> showDataTips=<span style="color: #ff0000;">&quot;true&quot;</span> calculateRange=<span style="color: #ff0000;">&quot;false&quot;</span> best=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;ns1:dataProvider<span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;ROB&quot;</span> valor=<span style="color: #ff0000;">&quot;12850&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;(-) Deduções&quot;</span> valor=<span style="color: #ff0000;">&quot;-1500&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;ROL&quot;</span> valor=<span style="color: #ff0000;">&quot;11350&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;(-) Custos&quot;</span> valor=<span style="color: #ff0000;">&quot;-8200&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;Lucro Bruto&quot;</span> valor=<span style="color: #ff0000;">&quot;3150&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;(-) Desp. Op.&quot;</span> valor=<span style="color: #ff0000;">&quot;-3150&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;(-) Desp. Fi.&quot;</span> valor=<span style="color: #ff0000;">&quot;-1200&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;Res. Não Op. &quot;</span> valor=<span style="color: #ff0000;">&quot;3500&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> eixo=<span style="color: #ff0000;">&quot;Lajir&quot;</span> valor=<span style="color: #ff0000;">&quot;2300&quot;</span> isSaldo=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;/ns1:dataProvider<span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;">&lt;/ns1:WaterfallChart<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>O resultado obtido é o demonstrado abaixo.</p>
<p><object width="519" height="267" data="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfallfinance.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="bgcolor" value="#869ca7" /><param name="allowScriptAccess" value="sameDomain" /><param name="src" value="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfallfinance.swf" /><param name="name" value="WaterfallFinance" /><param name="align" value="middle" /></object></p>
<p>Se quiser fazer teste com o comportamento do gráfico teste-o logo abaixo&#8230;</p>
<p><object width="519" height="267" data="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfall.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="bgcolor" value="#869ca7" /><param name="allowScriptAccess" value="sameDomain" /><param name="src" value="http://www.igormusardo.com.br/wp-content/uploads/2009/04/waterfall.swf" /><param name="name" value="WaterfallFinance" /><param name="align" value="middle" /></object></p>
<p>Se preferir, faça o <strong>download</strong> do <strong>gráfico cascata</strong> já compilado em <strong>SWC</strong>. <a href='http://www.igormusardo.com.br/wp-content/uploads/2009/04/flexcomponent.swc'><strong>Download Gráfico Cascata</strong></a>.</p>
<p>Divirta-se&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/05/06/grafico-cascata-waterfall-chart-aka-flying-bricks-chart-no-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Posters dos diagramas de classes ActionScript 3 e Adobe Flex Framework</title>
		<link>http://igormusardo.com.br/2009/04/07/posters-dos-diagramas-de-classes-actionscript-3-e-adobe-flex-framework/</link>
		<comments>http://igormusardo.com.br/2009/04/07/posters-dos-diagramas-de-classes-actionscript-3-e-adobe-flex-framework/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 10:15:52 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=652</guid>
		<description><![CDATA[Faça o download dos posters completos do Adobe ActionScript 3, Adobe Flex Framework 3 Classes de Núlceo, Classes Adicionais e Classes Avançadas. Tudo isso em um único PDF.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F04%2F07%2Fposters-dos-diagramas-de-classes-actionscript-3-e-adobe-flex-framework%2F&title=Posters+dos+diagramas+de+classes+ActionScript+3+e+Adobe+Flex+Framework&desc=Fa%C3%A7a+o+download+dos+posters+completos+do+Adobe+ActionScript+3%2C+Adobe+Flex+Framework+3+Classes+de+N%C3%BAlceo%2C+Classes+Adicionais+e+Classes+Avan%C3%A7adas.%0D%0A%0D%0ATudo+isso+em+um+%C3%BAnico+PDF.%0D%0A%0D%0ADownload&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><img title="FX" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/fx.jpg" alt="FX" width="87" height="87" align="left" style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" /><img title="FL" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/fl.jpg" align="right" alt="FL" width="87" height="87" style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" />Faça o download dos posters completos do <a href="http://www.igormusardo.com.br/tag/action-script/" target="_blank">Adobe ActionScript</a> 3, <a href="http://www.igormusardo.com.br/tag/adobe-flex/" target="_blank">Adobe Flex</a> Framework 3 Classes de Núlceo, Classes Adicionais e Classes Avançadas.</p>
<p>Tudo isso em um único <a href="http://pt.wikipedia.org/wiki/Portable_Document_Format" target="_blank">PDF</a>.</p>
<p><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/04/adobeposters.zip">Download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/04/07/posters-dos-diagramas-de-classes-actionscript-3-e-adobe-flex-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobe dá Flex Builder 3 para programadores desempregados</title>
		<link>http://igormusardo.com.br/2009/04/04/adobe-da-flex-builder-3-para-programadores-desempregados/</link>
		<comments>http://igormusardo.com.br/2009/04/04/adobe-da-flex-builder-3-para-programadores-desempregados/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 21:16:27 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Emprego]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=637</guid>
		<description><![CDATA[É isso mesmo. Se você é um programador Flex e está desempregado atualmente, saiba como ganhar o Flex Builder 3 da Adobe e também como conseguir 60 dias de acesso a coleção online de livros Adobe Flex e técnicas de desenvolviment RIA na Safari Books Online.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F04%2F04%2Fadobe-da-flex-builder-3-para-programadores-desempregados%2F&title=Adobe+d%C3%A1+Flex+Builder+3+para+programadores+desempregados&desc=+%C3%89+isso+mesmo.+Se+voc%C3%AA+%C3%A9+um+programador+Flex+e+est%C3%A1+desempregado+atualmente%2C+fa%C3%A7a+o+seu+cadastro+no+site+https%3A%2F%2Ffreeriatools.adobe.com%2Flearnflex%2F+e+em+no+m%C3%A1ximo+duas+semanas+a+Adobe+te+enviar%C3%A1&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="Adobe Flex Builder" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/adobeflexbuilder-thumb.jpg" border="0" alt="Adobe Flex Builder" width="93" height="167" align="left" /> É isso mesmo. Se você é um programador <a href="http://www.igormusardo.com.br/category/flex/" target="_blank"><strong>Flex</strong></a> e está <a href="http://pt.wikipedia.org/wiki/Taxa_de_desemprego_no_Brasil" target="_blank">desempregado atualmente</a>, faça o seu cadastro no site <a href="https://freeriatools.adobe.com/learnflex/" target="_blank">https://freeriatools.adobe.com/learnflex/</a> e em no máximo duas semanas a <a href="http://www.adobe.com" target="_blank"><strong>Adobe</strong></a> te enviará a resposta por email sobre sua elegibilidade no programa junto com o número de série caso você esteja qualificado.</p>
<p>No mesmo embalo a <a href="https://ssl.safaribooksonline.com/tryitfree" target="_blank"><strong>Safari Books Online</strong></a> está oferecendo <strong>60 dias</strong> de acesso a coleção de livros de <strong><a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex 3</a></strong> e técnicas de desenvolvimento <a href="http://www.igormusardo.com.br/tag/ria/" target="_blank"><strong>RIA</strong></a>, faça o seu cadastro em <a title="https://ssl.safaribooksonline.com/tryitfree" href="https://ssl.safaribooksonline.com/tryitfree" target="_blank">https://ssl.safaribooksonline.com/tryitfree</a>.</p>
<p>Esta coleção inclui títulos oficiais da <a href="http://www.adobe.com" target="_blank"><strong>Adobe</strong></a>: <a href="http://oreilly.com/store/series/adl.csp" target="_blank"><strong>Adobe Developer Library</strong></a> e <a href="http://www.adobepress.com" target="_blank"><strong>Adobe Press</strong></a>.</p>
<p>Não perca esta oportunidade.</p>
<p align="center"><img style="display: inline; border: 0px;" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/9780321529183-xs-thumb.jpg" border="0" alt="" width="76" height="94" /> <img style="display: inline; border: 0px;" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/9780596516215-xs-thumb.gif" border="0" alt="" width="76" height="100" /> <img style="display: inline; border: 0px;" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/9780596517328-xs-thumb.gif" border="0" alt="" width="82" height="100" /> <img style="display: inline; border: 0px;" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/9780596520649-xs-thumb.gif" border="0" alt="" width="61" height="100" /> <img style="display: inline; border: 0px;" src="http://www.igormusardo.com.br/wp-content/uploads/2009/04/9780596522506-xs-thumb.gif" border="0" alt="" width="76" height="100" /></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/04/04/adobe-da-flex-builder-3-para-programadores-desempregados/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Está pensando em tirar certificação Adobe Flex / Air?</title>
		<link>http://igormusardo.com.br/2009/03/27/esta-pensando-em-tirar-certificacao-adobe-flex-air/</link>
		<comments>http://igormusardo.com.br/2009/03/27/esta-pensando-em-tirar-certificacao-adobe-flex-air/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 13:08:40 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=618</guid>
		<description><![CDATA[O Attest 1.5 emula a prova de certificação para Adobe Flex / Air focando nos tópicos relevantes do exame. ]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F03%2F27%2Festa-pensando-em-tirar-certificacao-adobe-flex-air%2F&title=Est%C3%A1+pensando+em+tirar+certifica%C3%A7%C3%A3o+Adobe+Flex+%2F+Air%3F&desc=+Ent%C3%A3o+n%C3%A3o+perca+tempo%2C+fa%C3%A7a+o+download+do+Attest+1.5.+Software+desenvolvido+em+AIR+cujo+o+objetivo+%C3%A9+auxiliar+os+desenvolvedores+Flex+%2F+Air+que+est%C3%A3o+estudando+para+a+prova+de+certifica%C3%A7%C3%A3o.%0D%0A%0D&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><a href="http://software.pxldesigns.com/attest/index.php?id=main" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="attest" src="http://www.igormusardo.com.br/wp-content/uploads/2009/03/attest.jpg" border="0" alt="attest" width="240" height="240" align="left" /></a> Então não perca tempo, faça o <a href="http://software.pxldesigns.com/attest/index.php?id=download" target="_blank">download</a> do <a href="http://software.pxldesigns.com/attest/index.php?id=main" target="_blank">Attest 1.5</a>. Software desenvolvido em <a href="http://www.adobe.com/products/air/" target="_blank">AIR</a> cujo o objetivo é auxiliar os desenvolvedores Flex / Air que estão estudando para a <a href="http://partners.adobe.com/public/en/ace/ACE_Exam_Guide_FlexAIR.pdf" target="_blank">prova de certificação</a>.</p>
<p>O <a href="http://software.pxldesigns.com/attest/index.php?id=main" target="_blank">Attest 1.5</a> emula a prova de certificação focando nos tópicos relevantes do exame. Os testes possuem 50 questões com 60 minutos para responder. Quando você conclui o teste, o <a href="http://software.pxldesigns.com/attest/index.php?id=main" target="_blank">Attest</a> mostra os % de acerto em cada área, sendo possível salvar os resultados para consultar novamente depois ou até mesmo fazer o acompanhamento da evolução do estudo.</p>
<p>Quem deu essa dica originalmente foi <a href="http://www.flexdev.com.br/home/" target="_blank">Eberton Consolim</a> em seu <a href="http://www.flexdev.com.br/home/mock-para-exame-flexair-3-grtis" target="_blank">blog</a>.</p>
<p>Bons estudos.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/03/27/esta-pensando-em-tirar-certificacao-adobe-flex-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Utilize o botão direito do mouse em suas aplicações Adobe Flex</title>
		<link>http://igormusardo.com.br/2009/03/18/utilize-o-boto-direito-do-mouse-em-suas-aplicaes-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2009/03/18/utilize-o-boto-direito-do-mouse-em-suas-aplicaes-adobe-flex/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 14:48:08 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/2009/03/18/utilize-o-boto-direito-do-mouse-em-suas-aplicaes-adobe-flex/</guid>
		<description><![CDATA[O Mario Junior, desenvolveu uma aplicação exemplo de como utilizar o botão direito em suas aplicações Adobe Flex, acesse o exemplo.
]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F03%2F18%2Futilize-o-boto-direito-do-mouse-em-suas-aplicaes-adobe-flex%2F&title=Utilize+o+bot%C3%A3o+direito+do+mouse+em+suas+aplica%C3%A7%C3%B5es+Adobe+Flex&desc=O+Mario+Junior%2C+desenvolveu+uma+aplica%C3%A7%C3%A3o+exemplo+de+como+utilizar+o+bot%C3%A3o+direito+em+suas+aplica%C3%A7%C3%B5es+Adobe+Flex%2C+acesse+o+exemplo.&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>O Mario Junior, desenvolveu uma aplicação exemplo de como utilizar o botão direito em suas aplicações Adobe Flex, acesse o exemplo.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/03/18/utilize-o-boto-direito-do-mouse-em-suas-aplicaes-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upload utilizando Adobe Flex e ASP.NET</title>
		<link>http://igormusardo.com.br/2009/02/20/fazer-upload-utilizando-adobe-flex-e-aspnet/</link>
		<comments>http://igormusardo.com.br/2009/02/20/fazer-upload-utilizando-adobe-flex-e-aspnet/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 13:56:14 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=577</guid>
		<description><![CDATA[Saiba como fazer UPLOAD de arquivos em aplicações Adobe Flex integradas com o ASP.NET]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F02%2F20%2Ffazer-upload-utilizando-adobe-flex-e-aspnet%2F&title=Upload+utilizando+Adobe+Flex+e+ASP.NET&desc=Em+algumas+aplica%C3%A7%C3%B5es+que+constru%C3%ADmos+%C3%A9+essencial+permitir+ao+usu%C3%A1rio+fazer+o+UPLOAD+de+arquivos.%0D%0A%0D%0ANeste+artigo+vou+demonstrar+como+construir+um+componente+Button+com+a+funcionalidade+de+fazer+&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Em algumas aplicações que construímos é essencial permitir ao usuário fazer o <strong>UPLOAD</strong> de arquivos.</p>
<p>Neste artigo vou demonstrar como construir um componente <strong>Button</strong> com a funcionalidade de fazer o <strong>upload</strong> no <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a> e como preparar o <a href="http://www.asp.net/" target="_blank">ASP.NET</a> para salvar o arquivo no servidor.</p>
<p><span id="more-577"></span>Primeiro criaremos o componente <strong>uploadButton</strong> estendendo a classe <strong>Button</strong>, conforme o código abaixo.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package br.<span style="color: #006600;">com</span>.<span style="color: #006600;">igormusardo</span>.<span style="color: #006600;">component</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">MouseEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">ProgressEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">FileReference</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">URLRequest</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">URLRequestMethod</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">containers</span>.<span style="color: #006600;">TitleWindow</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #0066CC;">Button</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">ProgressBar</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">Application</span>;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">managers</span>.<span style="color: #006600;">PopUpManager</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> uploadButton <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">Button</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">/**
		* Define qual o arquivo .NET será chamado para realizar o upload físico do arquivo
		*/</span>
		<span style="color: #0066CC;">private</span> const UPLOAD_URL:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;uploadFile.ashx&quot;</span>;
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> fr:FileReference;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> pb:ProgressBar = <span style="color: #000000; font-weight: bold;">new</span> ProgressBar<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> tw:TitleWindow;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		* Inicializa o FileReference e adiciona os EventListeners 
		*/</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> uploadButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		    fr = <span style="color: #000000; font-weight: bold;">new</span> FileReference<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    fr.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">SELECT</span>, selectHandler<span style="color: #66cc66;">&#41;</span>;
		    fr.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">OPEN</span>, openHandler<span style="color: #66cc66;">&#41;</span>;
		    fr.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>ProgressEvent.<span style="color: #006600;">PROGRESS</span>, progressHandler<span style="color: #66cc66;">&#41;</span>;
		    fr.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">COMPLETE</span>, completeHandler<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		* Prepara o label da barra de progressão para informar o % de envio do arquivo
		*/</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> openHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		    pb.<span style="color: #006600;">label</span> = <span style="color: #ff0000;">&quot;Uploading %3%%&quot;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		* Atualiza o percentual concluído.
		*/</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> progressHandler<span style="color: #66cc66;">&#40;</span>event:ProgressEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		    pb.<span style="color: #006600;">setProgress</span><span style="color: #66cc66;">&#40;</span>event.<span style="color: #0066CC;">bytesLoaded</span>, event.<span style="color: #0066CC;">bytesTotal</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Após o upload completo, é alterado o label da barra de progressão, informando ao usuário o fim da operação 
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> completeHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		    pb.<span style="color: #006600;">label</span> = <span style="color: #ff0000;">&quot;Upload Complete&quot;</span>;
		    PopUpManager.<span style="color: #006600;">removePopUp</span><span style="color: #66cc66;">&#40;</span>tw<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Após o arquivo selecionado o upload é executado. 
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> selectHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
		    <span style="color: #000000; font-weight: bold;">var</span> request:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		    request.<span style="color: #0066CC;">url</span> = UPLOAD_URL;
		    request.<span style="color: #006600;">method</span> = URLRequestMethod.<span style="color: #006600;">POST</span>;
		    openWindow<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		    fr.<span style="color: #006600;">upload</span><span style="color: #66cc66;">&#40;</span>request<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Abre popUp com a progressBar. 
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> openWindow<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
			tw = <span style="color: #000000; font-weight: bold;">new</span> TitleWindow<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			tw.<span style="color: #006600;">title</span> = <span style="color: #ff0000;">&quot;Uploading File&quot;</span>;
			tw.<span style="color: #0066CC;">width</span>= <span style="color: #cc66cc;">250</span>;
			tw.<span style="color: #0066CC;">height</span>= <span style="color: #cc66cc;">80</span>;
			pb.<span style="color: #006600;">percentHeight</span> = <span style="color: #cc66cc;">100</span>;
			pb.<span style="color: #006600;">percentWidth</span> = <span style="color: #cc66cc;">100</span>;
			tw.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>pb<span style="color: #66cc66;">&#41;</span>; 
			PopUpManager.<span style="color: #006600;">addPopUp</span><span style="color: #66cc66;">&#40;</span>tw, <span style="color: #0066CC;">this</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
			tw.<span style="color: #006600;">x</span> = <span style="color: #66cc66;">&#40;</span>Application.<span style="color: #006600;">application</span>.<span style="color: #0066CC;">width</span> - tw.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span>; 
			tw.<span style="color: #006600;">y</span> = <span style="color: #66cc66;">&#40;</span>Application.<span style="color: #006600;">application</span>.<span style="color: #0066CC;">height</span> - tw.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">/</span> <span style="color: #cc66cc;">2</span>;
		<span style="color: #66cc66;">&#125;</span>		
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		* Abre a janela para escolher o arquivo a ser feito o upload.
		*/</span>					
		override protected <span style="color: #000000; font-weight: bold;">function</span> clickHandler<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
			fr.<span style="color: #006600;">browse</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>O componente funciona da seguinte forma: Ao clicar sobre o botão, abrirá a janela para escolher qual arquivo será carregado para o servidor. Após escolhido o arquivo e clicado em <strong>Abrir</strong>, o <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a> enviará o arquivo via POST para o <a href="http://www.asp.net/" target="_blank">ASP.NET</a>, e o mesmo gravará o arquivo no disco do servidor.</p>
<p>Ainda no <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a>, é preciso colocar o botão na tela, para tanto utilize o código abaixo:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> xmlns:im=<span style="color: #ff0000;">&quot;br.com.igormusardo.component.*&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;im:uploadButton</span> x=<span style="color: #ff0000;">&quot;10&quot;</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;btUp&quot;</span> label=<span style="color: #ff0000;">&quot;Upload Arquivo&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>Agora que encerramos a programação no <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a>, precisamos ir para o .NET. Com Visual Studio aberto crie um novo Website, neste Website crie um arquivo do tipo <strong>Manipulador Genérico</strong> chamado de <strong>uploadFile.ashx</strong>, como na figura.<center><br />
<a href="http://www.igormusardo.com.br/wp-content/uploads/2009/02/manipulargenerico.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/manipulargenerico-300x198.gif" alt="Manipulador Genérico" title="Manipulador Genérico" width="300" height="198" class="aligncenter size-medium wp-image-578" /></a><br />
</center></p>
<p>No arquivo uploadFile.ashx copie o código abaixo.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;%</span>@ WebHandler Language<span style="color: #008000;">=</span><span style="color: #666666;">&quot;C#&quot;</span> <span style="color: #6666cc; font-weight: bold;">Class</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;uploadFile&quot;</span> <span style="color: #008000;">%&gt;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Web</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Web.Configuration</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> uploadFile <span style="color: #008000;">:</span> IHttpHandler
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> ProcessRequest<span style="color: #008000;">&#40;</span>HttpContext _context<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> uploadDir <span style="color: #008000;">=</span> HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Server</span><span style="color: #008000;">.</span><span style="color: #0000FF;">MapPath</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;~/upload/&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>_context<span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Files</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            _context<span style="color: #008000;">.</span><span style="color: #0000FF;">Response</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;&lt;result&gt;&lt;status&gt;Error&lt;/status&gt;&lt;message&gt;No files selected&lt;/message&gt;&lt;/result&gt;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> fileKey <span style="color: #0600FF; font-weight: bold;">in</span> _context<span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Files</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            HttpPostedFile file <span style="color: #008000;">=</span> _context<span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Files</span><span style="color: #008000;">&#91;</span>fileKey<span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
            file<span style="color: #008000;">.</span><span style="color: #0000FF;">SaveAs</span><span style="color: #008000;">&#40;</span>Path<span style="color: #008000;">.</span><span style="color: #0000FF;">Combine</span><span style="color: #008000;">&#40;</span>uploadDir, file<span style="color: #008000;">.</span><span style="color: #0000FF;">FileName</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        _context<span style="color: #008000;">.</span><span style="color: #0000FF;">Response</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;&lt;result&gt;&lt;status&gt;Success&lt;/status&gt;&lt;message&gt;Upload completed&lt;/message&gt;&lt;/result&gt;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> IsReusable
    <span style="color: #008000;">&#123;</span>
        get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Crie a pasta <strong>upload</strong>, onde os arquivos serão salvos pelo <a href="http://www.asp.net/" target="_blank">ASP.NET</a>, dentro do Website e conceda permissões de leitura e escrita para o usuário <strong>IUSR_<<MachineName>></strong>.<center><br />
<a href="http://www.igormusardo.com.br/wp-content/uploads/2009/02/permissao.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/permissao-224x300.gif" alt="Permissão" title="Permissão" width="224" height="300" class="aligncenter size-medium wp-image-580" /></a><br />
</center></p>
<p>Compile sua aplicação do <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a> e copie os arquivos compilados para a pasta do Website <a href="http://www.asp.net/" target="_blank">ASP.NET</a>.</p>
<p>Pronto! </p>
<p>Execute o Website e abra a página <strong>FlexUpload.html</strong> e faça o upload dos arquivos quiser.<center><br />
<img src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/uploadwindow.gif" alt="Upload" title="Upload" width="437" height="215" class="aligncenter size-full wp-image-581" /><br />
</center><br />
<center><br />
<a href="http://www.igormusardo.com.br/wp-content/uploads/2009/02/browsewindow.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/browsewindow-300x219.gif" alt="Browse Window" title="Browse Window" width="300" height="219" class="aligncenter size-medium wp-image-583" /></a><br />
</center><br />
<center><br />
<img src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/uploading.gif" alt="Uploading" title="Uploading" width="437" height="215" class="aligncenter size-full wp-image-582" /><br />
</center></p>
<p><a href='http://www.igormusardo.com.br/wp-content/uploads/2009/02/flexupload.zip'>Faça o download do código-fonte.</a></p>
<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/02/20/fazer-upload-utilizando-adobe-flex-e-aspnet/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Blist: banco de dados online, gratuito e feito em Adobe Flex</title>
		<link>http://igormusardo.com.br/2009/02/17/blist-banco-de-dados-online-gratuito-e-feito-em-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2009/02/17/blist-banco-de-dados-online-gratuito-e-feito-em-adobe-flex/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 09:24:08 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=570</guid>
		<description><![CDATA[Blist é um banco de dados online e gratuito desenvolvido com o Adobe Flex que permite que você crie Blists – abreviação de “web lists” – bancos de dados simples que podem armazenar desde cadastro de clientes a uma coleção de discos.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F02%2F17%2Fblist-banco-de-dados-online-gratuito-e-feito-em-adobe-flex%2F&title=Blist%3A+banco+de+dados+online%2C+gratuito+e+feito+em+Adobe+Flex&desc=Atualizado+em+13%2F01%2F2010%0D%0AInfelizmente+o+projeto+Blist+foi+retirado+do+ar%2C+mas+manterei+o+post+no+ar+para+servir+de+inspira%C3%A7%C3%A3o+para+outros+desenvolvedores.%0D%0ABlist+%C3%A9+um+banco+de+dados+online+e+gratu&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><strong>Atualizado em 13/01/2010</strong></p>
<blockquote><p><span style="color: #ff0000;"><strong>Infelizmente o projeto Blist foi retirado do ar, mas manterei o post no ar para servir de inspiração para outros desenvolvedores.</strong></span></p></blockquote>
<p><strong>Blist</strong> é um <a href="http://pt.wikipedia.org/wiki/Banco_de_dados" target="_blank">banco de dados</a> online e gratuito desenvolvido com o <a href="http://www.igormusardo.com.br/category/flex/" target="_blank">Adobe Flex</a> que permite que você crie Blists – abreviação de “web lists” – bancos de dados simples que podem armazenar desde cadastro de clientes a uma coleção de discos.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/02/blist.png" target="_blank"><img class="size-medium wp-image-571  aligncenter" title="Blist" src="http://www.igormusardo.com.br/wp-content/uploads/2009/02/blist-300x229.png" alt="Blist" width="300" height="229" /></a></p>
<p>A visualização básica do aplicativo lembra uma tabela do <a href="http://pt.wikipedia.org/wiki/Microsoft_Access" target="_blank">Microsoft Access</a>, sendo possível o usuário criar uma Blist com base na importação de um arquivo do <a href="http://pt.wikipedia.org/wiki/Microsoft_Excel" target="_blank">Microsoft Excel</a>.</p>
<p>O que deixa o programa ainda mais interessante é a sua capacidade de <a href="http://pt.wikipedia.org/wiki/Rede_social">rede social</a>: você pode incorporar o Blist a um <a href="http://www.igormusardo.com.br" target="_blank">blog</a> ou página do <a href="http://pt-br.facebook.com/" target="_blank">Facebook</a>.</p>
<p>Eu particularmente achei fantástica a ferramenta.</p>
<p>Divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/02/17/blist-banco-de-dados-online-gratuito-e-feito-em-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vários exemplos de gráficos em Flex</title>
		<link>http://igormusardo.com.br/2009/02/13/varios-exemplos-de-graficos-em-flex/</link>
		<comments>http://igormusardo.com.br/2009/02/13/varios-exemplos-de-graficos-em-flex/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 02:11:30 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Gráfico]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=565</guid>
		<description><![CDATA[Através da lista do Flex-Brasil tomei conhecimento de um link muito interessante com vários exemplos de gráficos em Adobe Flex.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F02%2F13%2Fvarios-exemplos-de-graficos-em-flex%2F&title=V%C3%A1rios+exemplos+de+gr%C3%A1ficos+em+Flex&desc=Atrav%C3%A9s+da+lista+do+Flex-Brasil+tomei+conhecimento+de+um+link+muito+interessante+com+v%C3%A1rios+exemplos+de+gr%C3%A1ficos+em+Adobe+Flex.%0D%0A%0D%0AConfira+aqui+os+gr%C3%A1ficos%21%0D%0A%0D%0ADivirta-se%21%0D%0A&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Através da lista do <a href="http://br.groups.yahoo.com/group/flex-brasil/" target="_blank"><strong>Flex-Brasil</strong></a> tomei conhecimento de um <a href="http://demo.quietlyscheming.com/ChartSampler/app.html" target="_blank">link muito interessante</a> com vários exemplos de <a href="http://www.igormusardo.com.br/tag/grafico/" target="_blank">gráficos</a> em <a href="http://www.igormusardo.com.br/category/flex/" target="_blank"><strong>Adobe Flex</strong></a>.</p>
<p>Confira aqui os <a href="http://demo.quietlyscheming.com/ChartSampler/app.html" target="_blank">gráficos</a>!</p>
<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/02/13/varios-exemplos-de-graficos-em-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Construindo aplicações ricas de internet com Adobe Flex 3 e ASP.NET</title>
		<link>http://igormusardo.com.br/2009/01/26/construindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet/</link>
		<comments>http://igormusardo.com.br/2009/01/26/construindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 08:41:13 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=485</guid>
		<description><![CDATA[Saiba como integrar o poder do ASP.NET com a riqueza e sutileza do Adobe Flex 3 em um modelo do mundo real partindo do zero.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2009%2F01%2F26%2Fconstruindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet%2F&title=Construindo+aplica%C3%A7%C3%B5es+ricas+de+internet+com+Adobe+Flex+3+e+ASP.NET&desc=Utilizarei+o+Visual+Studio+2008+com+o+SQL+Server+2005+e+o+banco+de+dados+Northwind%2C+por%C3%A9m+os+mesmos+passos+podem+ser+seguidos+no+Visual+Studio+2005+com+o+SQL+Server+2000.%0D%0ACrie+um+novo+projeto+Web+no&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p style="text-align: left;">Utilizarei o Visual Studio 2008 com o SQL Server 2005 e o banco de dados Northwind, porém os mesmos passos podem ser seguidos no Visual Studio 2005 com o SQL Server 2000.</p>
<p><span id="more-485"></span></p>
<p style="text-align: left;">Crie um novo projeto Web no Visual Studio, logo em seguida clique com o botão direito sobre a solução e escolha Add / New Item.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/01_adicionarnovoitem.png" target="_blank"><img class="size-medium wp-image-486 aligncenter" title="Adicionar novo item" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/01_adicionarnovoitem-300x216.png" alt="Adicionar novo item" width="300" height="216" /></a></p>
<p style="text-align: left;">Na janela que se abrirá, selecione o Item DataSet e atribua o nome DsTerritorio.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/02_novodataset.png" target="_blank"><img class="size-medium wp-image-487  aligncenter" title="Novo Dataset" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/02_novodataset-300x181.png" alt="Novo Dataset" width="300" height="181" /></a></p>
<p style="text-align: left;">Com o DataSet criado, clique com o botão direito dentro da janela do DataSet, escolha<span> Add / TableAdapter, abrirá uma janela solicitando qual conexão com o banco de dados será utilizado para a construção do TableAdapter, crie a conexão com o SQL Server e salve com o nome NorthwindConn e clique em Next.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/03_adicionartableadapter.png" target="_blank"><img class="aligncenter size-medium wp-image-488" title="Adicionar Table Adapter" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/03_adicionartableadapter-300x216.png" alt="Adicionar Table Adapter" width="300" height="216" /></a></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/04_selecionarconexao.png" target="_blank"><img class="aligncenter size-medium wp-image-490" title="Selecionar conexãao" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/04_selecionarconexao-300x235.png" alt="Selecionar conexãao" width="300" height="235" /></a></p>
<p style="text-align: left;">Na próxima janela selecione como o TableAdapter acessará o banco de dados, as opções possíveis são: SQL statements, criar nova Stored Procedure ou utilizar uma Stored Procedure já existente no banco de dados.</p>
<p style="text-align: left;">Deixe a opção Use SQL statements marcada e clique em Next.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/05_selecionarmodoacesso.png" target="_blank"><img class="aligncenter size-medium wp-image-491" title="Selecionar modo de acesso" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/05_selecionarmodoacesso-300x235.png" alt="Selecionar modo de acesso" width="300" height="235" /></a></p>
<p style="text-align: left;">A próxima janela é onde se insere o código SQL para o retorno dos dados, porém você pode utilizar o Query Builder, que é a ferramenta visual para construção de instruções SQL, portanto clique no botão Query Builder.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/06_entradasql.png" target="_blank"><img class="aligncenter size-medium wp-image-493" title="Entrada SQL" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/06_entradasql-300x235.png" alt="Entrada SQL" width="300" height="235" /></a></p>
<p style="text-align: left;">Após clicar no botão Query Builder, aparecerão duas janelas, a janela do próprio Query Builder e a janela de Add Table, a segunda janela já com as tabelas existentes no banco de dados.</p>
<p style="text-align: left;">Procure e selecione a tabela Region, em seguida, clique em Add. A tabela Region aparecerá no Query Builder.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/07_adicionartabelaquerybuilder.png" target="_blank"><img class="aligncenter size-medium wp-image-494" title="Adicionar Tabela Query builder" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/07_adicionartabelaquerybuilder-300x216.png" alt="Adicionar Tabela Query builder" width="300" height="216" /></a></p>
<p style="text-align: left;">Clique em Close, em seguida, selecione as duas colunas da tabela Region (RegionID e RegionDescription). Agora clique em Execute Query.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/08_querybuilderregion.png" target="_blank"><img class="aligncenter size-medium wp-image-495" title="Query builder Region" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/08_querybuilderregion-300x246.png" alt="Query builder Region" width="300" height="246" /></a></p>
<p style="text-align: left;">Se o resultado do Execute Query for igual à figura acima, clique em Ok. A próxima janela solicitará nomes para os métodos de Fill e Return que por padrão são Fill e GetData respectivamente.</p>
<p style="text-align: left;">Para a tabela Region, deixe os nomes sugeridos e clique em Next. A próxima janela exibirá o sumário da criação do TableAdapter. Clique em Finish.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/09_definirnomemetodo.png" target="_blank"><img class="aligncenter size-medium wp-image-497" title="Definir nome do método" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/09_definirnomemetodo-300x235.png" alt="Definir nome do método" width="300" height="235" /></a></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/10_tableadaptercriado.png" target="_blank"><img class="aligncenter size-medium wp-image-498" title="Table adapter criado" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/10_tableadaptercriado-300x235.png" alt="Table adapter criado" width="300" height="235" /></a></p>
<p style="text-align: left;">Agora já é possível visualizar o TableAdapter dentro do DataSet dsTerritorio.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/11_datasetterritorio.png" target="_blank"><img class="aligncenter size-medium wp-image-500" title="Dataset Territorio" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/11_datasetterritorio-300x216.png" alt="Dataset Territorio" width="300" height="216" /></a></p>
<p style="text-align: left;">Ainda dentro do DataSet dsTerritorio, crie outro TableAdapter. Novamente, clique com o botão direito dentro do DataSet, escolha Add / TableAdapter, escolha a conexão com a base de dados, também escolha Use SQL statements.</p>
<p style="text-align: left;">Na janela do Query Builder, adicione a tabela Territories, selecione todas as colunas. Na linha RegionID, insira o parâmetro @RegionID na coluna Filter. O parâmetro será responsável por aplicar o filtro de qual região o SQL retornará os territórios.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/12_querybuilderterritories.png" target="_blank"><img class="aligncenter size-medium wp-image-503" title="Query builder territories" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/12_querybuilderterritories-300x246.png" alt="Query builder territories" width="300" height="246" /></a></p>
<p style="text-align: left;">Na janela de definições dos métodos, acrescente a expressão ByRegionID, após Fill e GetData. Dessa maneira apenas pelo nome do método é possível saber que um parâmetro chamado RegionID é esperado.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/13_definirnomemetodoterritories.png" target="_blank"><img class="aligncenter size-medium wp-image-504" title="Definir nome método Territories" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/13_definirnomemetodoterritories-300x235.png" alt="Definir nome método Territories" width="300" height="235" /></a><br /><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/14_datasetterritoriocompleto.png"></a></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/14_datasetterritoriocompleto.png" target="_blank"><img class="aligncenter size-medium wp-image-505" title="Dataset Territorio completo" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/14_datasetterritoriocompleto-300x216.png" alt="Dataset Territorio completo" width="300" height="216" /></a></p>
<p style="text-align: left;">Agora que concluiu a criação do DataSet dsTerritorio, crie o DataSet dsVendedor, e dentro dele crie um TableAdapter com o SQL abaixo.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> 	EmployeeTerritories<span style="color: #66cc66;">.</span>EmployeeID<span style="color: #66cc66;">,</span>
	Employees<span style="color: #66cc66;">.</span>FirstName <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">' '</span> <span style="color: #66cc66;">+</span> Employees<span style="color: #66cc66;">.</span>LastName <span style="color: #993333; font-weight: bold;">AS</span> FullName<span style="color: #66cc66;">,</span>
	EmployeeTerritories<span style="color: #66cc66;">.</span>TerritoryID
<span style="color: #993333; font-weight: bold;">FROM</span> Employees <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> EmployeeTerritories
	<span style="color: #993333; font-weight: bold;">ON</span> Employees<span style="color: #66cc66;">.</span>EmployeeID <span style="color: #66cc66;">=</span> EmployeeTerritories<span style="color: #66cc66;">.</span>EmployeeID
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span>EmployeeTerritories<span style="color: #66cc66;">.</span>TerritoryID <span style="color: #66cc66;">=</span> @TerritoryID<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/15_entradasqlemployees.png" target="_blank"><img class="aligncenter size-medium wp-image-513" title="Entrada SQL employees" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/15_entradasqlemployees-300x235.png" alt="Entrada SQL employees" width="300" height="235" /></a></p>
<p style="text-align: left;">Acrescente ByTerritoryID na definição dos métodos Fill e GetData.</p>
<p style="text-align: left;">Após clicar em Finish, o TableAdapter criado estará com os nomes DataTable1 e DataTable1TableAdapter, altere-os para Employee e EmployeeTableAdapter.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/16_tableadapteremployee.png" target="_blank"><img class="aligncenter size-medium wp-image-513" title="Table Adapter employee" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/16_tableadapteremployee.png" alt="Table Adapter employee" width="288" height="122" /></a></p>
<p style="text-align: left;">Crie um novo DataSet chamado dsCliente, e também crie um novo TableAdapter com o código abaixo.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span>  Customers<span style="color: #66cc66;">.</span>CustomerID<span style="color: #66cc66;">,</span> Customers<span style="color: #66cc66;">.</span>CompanyName<span style="color: #66cc66;">,</span> CustomerEmployee<span style="color: #66cc66;">.</span>EmployeeID
<span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> CustomerID<span style="color: #66cc66;">,</span> EmployeeID
	<span style="color: #993333; font-weight: bold;">FROM</span> Orders
	<span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> CustomerID<span style="color: #66cc66;">,</span> EmployeeID<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> CustomerEmployee <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span>
	Customers <span style="color: #993333; font-weight: bold;">ON</span> CustomerEmployee<span style="color: #66cc66;">.</span>CustomerID <span style="color: #66cc66;">=</span> Customers<span style="color: #66cc66;">.</span>CustomerID
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span>CustomerEmployee<span style="color: #66cc66;">.</span>EmployeeID <span style="color: #66cc66;">=</span> @EmployeeID<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p style="text-align: left;">Para os nomes dos métodos Fill e GetDate, não esqueça de adicionar ByEmployeeID em ambos.</p>
<p style="text-align: left;">Como no TableAdapter de vendedores, os nomes deste TableAdapter também não estão corretos, altere-os para Customers e CustomersTableAdapter respectivamente.</p>
<p style="text-align: left;">Para concluir a construção dos DataSets, crie mais um chamado dsPedido e também crie um novo TableAdapter com o código abaixo.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> OrderID<span style="color: #66cc66;">,</span> CustomerIR<span style="color: #66cc66;">,</span> EmployeeID<span style="color: #66cc66;">,</span> OrderDate<span style="color: #66cc66;">,</span> ShippedDate<span style="color: #66cc66;">,</span>
	ShipName<span style="color: #66cc66;">,</span> ShipAddress<span style="color: #66cc66;">,</span> ShipCity<span style="color: #66cc66;">,</span> Shipcountry
<span style="color: #993333; font-weight: bold;">FROM</span> Orders
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span>CustormerID <span style="color: #66cc66;">=</span> @CustomerID<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span>
	<span style="color: #66cc66;">&#40;</span>EmployeeID <span style="color: #66cc66;">=</span> @EmployeeID<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p style="text-align: left;">Acrescente ByCustomerIDEmployeeID<span>  aos métodos Fill e GetData e clique em Finalizar.</p>
<p style="text-align: left;">Agora crie o último TableAdapter chamado OrderDetails conforme a figura abaixo.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/17_sqlorderdetails.png" target="_blank"><img class="aligncenter size-medium wp-image-515" title="SQL orderdetails" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/17_sqlorderdetails-300x247.png" alt="SQL orderdetails" width="300" height="247" /></a></p>
<p style="text-align: left;">Após a criação de todos os DataSets (Território, Vendedor, Cliente e Pedido) o projeto deve estar conforme a figura abaixo.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/18_arquivosprojeto.png" target="_blank"><img class="aligncenter size-full wp-image-516" title="Arquivos projeto" src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/18_arquivosprojeto.png" alt="Arquivos projeto" width="161" height="191" /></a></p>
<p style="text-align: left;">Copie os seguintes arquivos do diretório de instalação do WebOrb (por padrão em c:\inetpub\wwwroot\weborb30) para o diretório do projeto .NET.</p>
<p style="text-align: left;">/weborb.config<br />
/bin/weborb.dll<br />
/WEB-INF</p>
<p style="text-align: left;">Adicione o código XML abaixo ao web.config do projeto .NET.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;system.web<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;httpHandlers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;add</span> <span style="color: #000066;">verb</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;weborb.aspx&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Weborb.ORBHttpHandler&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
     <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;add</span> <span style="color: #000066;">verb</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">path</span>=<span style="color: #ff0000;">&quot;codegen.aspx&quot;</span> <span style="color: #000066;">type</span>= <span style="color: #ff0000;">&quot;Weborb.Management.CodeGen.CodegeneratorHttpHandler&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/httpHandlers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/system.web<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p style="text-align: left;">É preciso referenciar o weborb.dll ao projeto, para isso no Solution Explorer do Visual Studio, clique duas vezes sobre a opção My Project, em seguida clique em References e depois em Add / References&#8230;</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/19_myproject.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/19_myproject-300x216.png" alt="My project" title="My project" width="300" height="216" class="aligncenter size-medium wp-image-518" /></a></p>
<p style="text-align: left;">Clique na aba Browse, localize o diretório Bin do projeto, selecione o arquivo weborb.dll e clique em OK, salve o projeto e feche a janela My Project.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/20_weborb_dll.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/20_weborb_dll-300x246.png" alt="Weborb.dll" title="Weborb.dll" width="300" height="246" class="aligncenter size-medium wp-image-519" /></a></p>
<p style="text-align: left;">Clique com o botão direito sobre a solução e escolha Add / New Item, porém escolha Class e dê o nome de csFlex.vb.</p>
<p style="text-align: left;">Nesta classe serão criados os métodos de chamada e retorno dos DataSets e TableAdapters criados anteriormente, através desses métodos é que a comunicação entre o .NET e o Flex ocorrerá.</p>
<p style="text-align: left;">Insira o código abaixo ao arquivo csFlex.vb</p>

<div class="wp_syntax"><div class="code"><pre class="vbnet" style="font-family:monospace;"><span style="color: #0600FF;">Imports</span> Weborb.<span style="color: #0000FF;">Service</span>
&nbsp;
<span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Class</span> csFlex
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getRegion<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsTerritorioTableAdapters.<span style="color: #0000FF;">RegionTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetData</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getTerritories<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> RegionID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsTerritorioTableAdapters.<span style="color: #0000FF;">TerritoriesTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetDataByRegionID</span><span style="color: #000000;">&#40;</span>RegionID<span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getEmployee<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> TerritoryID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsVendedorTableAdapters.<span style="color: #0000FF;">EmployeeTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetDataByTerritoryID</span><span style="color: #000000;">&#40;</span>TerritoryID
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getCustomers<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> EmployeeID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsClienteTableAdapters.<span style="color: #0000FF;">CustomersTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetDataByEmployeeID</span><span style="color: #000000;">&#40;</span>EmployeeID<span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getOrders<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> CustomerID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span>, <span style="color: #FF8000;">ByVal</span> EmployeeID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsPedidoTableAdapters.<span style="color: #0000FF;">OrdersTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetDataByCustomerIDEmployeeID</span><span style="color: #000000;">&#40;</span>CustomerID, EmployeeID<span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
    <span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Function</span> getOrderDetails<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> OrderID <span style="color: #FF8000;">As</span> <span style="color: #FF8000;">String</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> DataTable
        <span style="color: #FF8000;">Return</span> <span style="color: #FF8000;">New</span> dsPedidoTableAdapters.<span style="color: #0000FF;">OrderDetailsTableAdapter</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">GetDataByOrderID</span><span style="color: #000000;">&#40;</span>OrderID<span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
<span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Class</span></pre></div></div>

<p style="text-align: left;">Salve e feche o arquivo csFlex, agora compile o projeto. Caso o Visual Studio sinalize algum erro, volte e execute os passos novamente.</p>
<p style="text-align: left;">Antes de criar a interface no Adobe Flex, crie a aplicação Web no Internet Information Services (IIS) com o nome do projeto, verifique se ao acessar o endereço através do navegador uma página em branco é exibida.</p>
<p style="text-align: left;">Agora já com a aplicação web configurada no IIS, abra o Adobe Flex Builder 3, adicione um novo projeto (File / New / Flex Project).</p>
<p style="text-align: left;">Agora defina o nome do Projeto, se a opção Use default location estiver marcada, desmarque-a e localize o endereço do projeto .NET e dentro da pasta do projeto crie uma nova pasta chamada FlexSrc. O Project location do Flex deve ficar como a figura abaixo. A opção de Application type deixe marcado Web Application, e em Server technology selecione ASP.NET. Clique em Next.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/21_definirnomeprojeto.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/21_definirnomeprojeto-300x267.png" alt="Definir nome projeto" title="Definir nome projeto" width="300" height="267" class="aligncenter size-medium wp-image-521" /></a></p>
<p style="text-align: left;">Na próxima janela, na opção Server selecione Use Internet Information Services (IIS), em Web application root informe o diretório raiz da aplicação web definida no IIS e no campo Web application URL informe o endereço da aplicação no IIS. Após clicar no botão Validate Configuration, na parte superior da janela o Flex Builder deve ser informar: “The web application root and URL are valid”, caso apareça outra mensagem, os endereços informados não estão corretos, corrija antes de prosseguir.</p>
<p style="text-align: left;">Na mesma janela, um pouco abaixo está definida a pasta bin-debug como local a serem salvos os arquivos Flex compilados, deixe o nome que o Builder sugeriu e clique Next.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/22_definirservidor.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/22_definirservidor-300x267.png" alt="Definir servidor" title="Definir servidor" width="300" height="267" class="aligncenter size-medium wp-image-523" /></a></p>
<p style="text-align: left;">Na última janela de configuração do projeto Flex, é possível definir qual a pasta onde o Flex Builder salvará os arquivos fontes, bem como qual o nome do primeiro arquivo do projeto a ser criado.</p>
<p style="text-align: left;">Deixe os campos preenchidos como o Builder sugeriu e clique em Finish. Após alguns segundos o Adobe Flex Builder 3 exibirá o arquivo ArtigoFlex.mxml pronto para o início da construção da interface da aplicação.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/23_adobeflexbuilder.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/23_adobeflexbuilder-300x216.png" alt="Adobe Flex Builder" title="Adobe Flex Builder" width="300" height="216" class="aligncenter size-medium wp-image-524" /></a></p>
<p style="text-align: left;">Porém antes começar a codificar é necessário incluir um argumento de compilação ao projeto, pois sem esse argumento o Flex não conseguirá acessar os métodos construídos na classe csFlex. Para incluir o argumento, clique com o botão direito sobre o nome do projeto no Flex Navigator e em seguida clique em Properties. Com a janela de propriedades aberta, clique sobre a opção Flex Compiler, e insira o argumento após o argumento –locale en_US</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;">-services c:\Inetpub\wwwroot\weborb30\web-inf\flex\services-config.xml</pre></div></div>

<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/24_propriedadeflexcompiler.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/24_propriedadeflexcompiler-300x230.png" alt="Proprieda do Flex Compiler" title="Proprieda do Flex Compiler" width="300" height="230" class="aligncenter size-medium wp-image-525" /></a></p>
<p style="text-align: left;">Após inserir o argumento services, clique em OK.</p>
<p style="text-align: left;">Agora com o projeto corretamente configurado e pronto para comunicar com o .NET é possível iniciar a construção da interface, para tanto crie um painel, entre as tags <mx:Application... e </mx:Application>, com o título Painel de Vendas, esse painel terá um tamanho ajustável conforme as dimensões do navegador do cliente, para isso configure as propriedades left, right, top e bottom, todos com o valor 10.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Panel</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> left=<span style="color: #ff0000;">&quot;10&quot;</span> right=<span style="color: #ff0000;">&quot;10&quot;</span> top=<span style="color: #ff0000;">&quot;10&quot;</span> bottom=<span style="color: #ff0000;">&quot;10&quot;</span> title=<span style="color: #ff0000;">&quot;Painel de Vendas&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Panel</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">É possível verificar como o projeto está ficando, bastar clicar no Play.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/25_executaraplicacaoflex.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/25_executaraplicacaoflex-300x36.png" alt="Executar aplicação Flex" title="Executar aplicação Flex" width="300" height="36" class="aligncenter size-medium wp-image-526" /></a></p>
<p style="text-align: left;">Dentro do painel, crie um canvas na cor cinza.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Canvas</span> height=<span style="color: #ff0000;">&quot;42&quot;</span> left=<span style="color: #ff0000;">&quot;0&quot;</span> top=<span style="color: #ff0000;">&quot;0&quot;</span> right=<span style="color: #ff0000;">&quot;0&quot;</span> backgroundColor=<span style="color: #ff0000;">&quot;#F3F3F3&quot;</span> borderStyle=<span style="color: #ff0000;">&quot;none&quot;</span> borderThickness=<span style="color: #ff0000;">&quot;1&quot;</span> borderColor=<span style="color: #ff0000;">&quot;#C2BEBE&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Canvas</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Dentro do canvas coloque os labels e comboboxs que serão utilizados para selecionar região, território, vendedor e cliente, coloque também dentro do canvas o botão consultar.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> y=<span style="color: #ff0000;">&quot;12&quot;</span> text=<span style="color: #ff0000;">&quot;Região&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-348&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbRegion&quot;</span> labelField=<span style="color: #ff0000;">&quot;RegionDescription&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-274&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> y=<span style="color: #ff0000;">&quot;12&quot;</span> text=<span style="color: #ff0000;">&quot;Território&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-194&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbTerritory&quot;</span> labelField=<span style="color: #ff0000;">&quot;TerritoryDescription&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-114&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> y=<span style="color: #ff0000;">&quot;12&quot;</span> text=<span style="color: #ff0000;">&quot;Vendedor&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-32&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbEmployee&quot;</span> labelField=<span style="color: #ff0000;">&quot;FullName&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;49&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> y=<span style="color: #ff0000;">&quot;12&quot;</span> text=<span style="color: #ff0000;">&quot;Cliente&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;124&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbCustomer&quot;</span> labelField=<span style="color: #ff0000;">&quot;CompanyName&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;198&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> label=<span style="color: #ff0000;">&quot;Consultar&quot;</span> width=<span style="color: #ff0000;">&quot;119&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;310&quot;</span> id=<span style="color: #ff0000;">&quot;btConsultar&quot;</span><span style="color: #7400FF;">/&gt;</span></span></pre></div></div>

<p style="text-align: left;">A propriedade horizontalCenter define qual a distância em pixel que um objeto está do centro da página, valores negativos representam objetos a esquerda do centro da tela e valores positivos representam objetos a direita, os valores definidos garantem que os objetos estarão sempre centralizados.</p>
<p style="text-align: left;">labelField é a propriedade que define qual o campo que será exibido como label do combobox. O Adobe Flex trabalha de maneira diferente do .NET quando o assunto é combobox ou dropdownlist, pois no .NET é possível definir apenas dois valores ao dropdownlist, o datatextfield e o datavalueFfeld, já no Adobe Flex só se define qual será o valor de exibição do combobox, labelField, pois cada linha de opção do combobox é um objeto com propriedades. Essas propriedades são as colunas que retornaram do banco de dados, logo você não tem acesso a somente duas colunas como dropdownlist, você tem acesso a todas as colunas que retornaram do banco de dados.</p>
<p style="text-align: left;">A propriedade Y define qual a distância que o objeto tem do topo do componente ao qual ele está pertencendo, neste caso, y=”12” diz ao Flex que o label está a 12 pixel do topo do canvas.</p>
<p style="text-align: left;">Após o canvas inclua um datagrid onde serão exibidos os pedidos resultantes da consulta ao banco de dados.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span> id=<span style="color: #ff0000;">&quot;dgPedido&quot;</span> right=<span style="color: #ff0000;">&quot;10&quot;</span> left=<span style="color: #ff0000;">&quot;10&quot;</span> top=<span style="color: #ff0000;">&quot;55&quot;</span> bottom=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Detalhes&quot;</span> width=<span style="color: #ff0000;">&quot;85&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Data Pedido&quot;</span> dataField=<span style="color: #ff0000;">&quot;OrderDate&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Data Entrega&quot;</span> dataField=<span style="color: #ff0000;">&quot;ShippedDate&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Entregue para&quot;</span> dataField=<span style="color: #ff0000;">&quot;ShipName&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Endereço&quot;</span> dataField=<span style="color: #ff0000;">&quot;ShipAdress&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Cidade&quot;</span> dataField=<span style="color: #ff0000;">&quot;ShipCity&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;País&quot;</span> dataField=<span style="color: #ff0000;">&quot;ShipCountry&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGrid</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Para fazer a comunicação entre a interface Flex e a aplicação server-side .NET utilize o componente RemoteObject do Adobe Flex 3.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:RemoteObject</span> id=<span style="color: #ff0000;">&quot;roNet&quot;</span> destination=<span style="color: #ff0000;">&quot;GenericDestination&quot;</span></span>
<span style="color: #000000;">	source=<span style="color: #ff0000;">&quot;ArtigoFlex.csFlex&quot;</span> showBusyCursor=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #000000;">	fault=<span style="color: #ff0000;">&quot;faultHandler(event)&quot;</span> <span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getRegion&quot;</span> result=<span style="color: #ff0000;">&quot;gotRegion(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getTerritories&quot;</span> result=<span style="color: #ff0000;">&quot;gotTerritories(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getEmployee&quot;</span> result=<span style="color: #ff0000;">&quot;gotEmployee(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getCustomers&quot;</span> result=<span style="color: #ff0000;">&quot;gotCustomers(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getOrders&quot;</span> result=<span style="color: #ff0000;">&quot;gotOrders(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:method</span> name=<span style="color: #ff0000;">&quot;getOrderDetails&quot;</span> result=<span style="color: #ff0000;">&quot;gotOrderDetails(event)&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:RemoteObject</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">A propriedade destination deve sempre ser “GenericDestination” para a comunicação através do weborb, a propriedade source deve ser preenchida com o nome do projeto .NET e a classe que será acessada, então neste caso será “ArtigoFlex.csFlex”.</p>
<p style="text-align: left;">A propriedade showBusyCursor seta se será exibido ou não o relógio como cursor do mouse enquanto alguma requisição ao .NET estiver sendo feita. E finalmente, fault define qual função será disparada caso algum erro ocorra durante alguma requisição do .NET.</p>
<p style="text-align: left;">Os métodos (<mx:method...) devem ter o mesmo nome dos métodos da classe csFlex, caso contrário o Flex retornará um erro informando que o método não foi encontrado.</p>
<p style="text-align: left;">A propriedade result define qual função será disparada após o retorno da requisição ao .NET.</p>
<p style="text-align: left;">É necessário agora construir as funções, faultHandler, gotRegion, gotTerritories, gotEmployee, gotCustomers, gotOrders e gotOrderDetails. As funções são escritas na linguagem Action Script 3.0</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
		<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">rpc</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">ResultEvent</span>;
		<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">Alert</span>;
		<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">rpc</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">FaultEvent</span>;
	<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p style="text-align: left;">Nesta parte do código além do bloco das tags de inicio e fim de script, também estão declaradas as importações das bibliotecas ResultEvent, Alert e FaultEvent que serão utilizadas logo mais.</p>
<p style="text-align: left;">Agora crie a função faultHandler</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> faultHandler<span style="color: #66cc66;">&#40;</span>event:FaultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	Alert.<span style="color: #0066CC;">show</span><span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">fault</span>.<span style="color: #006600;">faultString</span>, <span style="color: #ff0000;">&quot;Erro&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">A função faultHandler recebe um parâmetro do tipo FaultEvent que será exibido para o usuário através do Alert.show quando algum erro ocorrer durante a requisição ao .NET.
<p style="text-align: left;">Agora crie os métodos de preenchimento dos valores do combobox região.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> bindRegion<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getRegion</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotRegion<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	cbRegion.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;
	cbRegion.<span style="color: #006600;">selectedIndex</span> = <span style="color: #cc66cc;">0</span>;
	bindTerritories<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">No código acima foram criadas duas funções, bindRegion e gotRegion. A função bindRegion chama o método getRegion do remote object roNet.</p>
<p style="text-align: left;">Após o retorno da requisição ao método roNet.getRegion, a função gotRegion é disparada recebendo um parâmetro do tipo ResultEvent que contém o retorno do método getRegion, o retorno é associado como dataProvider do combobox cbRegion, em seguida é selecionado o índice zero dos dados retornados. Após a seleção do índice, a função bindTerritories() é disparada.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> bindTerritories<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getTerritories</span><span style="color: #66cc66;">&#40;</span>cbRegion.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">RegionID</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotTerritories<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	cbTerritory.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;
	cbTerritory.<span style="color: #006600;">selectedIndex</span> = <span style="color: #cc66cc;">0</span>;
	bindEmployee<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">Assim como a função bindRegion, bindTerritories chama um método do remote object roNet, porém agora o método chamado é o getTerritories, esse método espera como parâmetro o código da região, por isso o parâmetro informado é o cbRegion.selectedItem.RegionID. RegionID é uma propriedade que o dataProvider do cbRegion passou a ter após a atribuição do event.result. Abaixo estão as demais funções para a preparação dos comboboxs.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> bindEmployee<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getEmployee</span><span style="color: #66cc66;">&#40;</span>cbTerritory.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">TerritoryID</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotEmployee<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	cbEmployee.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;
	cbEmployee.<span style="color: #006600;">selectedIndex</span> = <span style="color: #cc66cc;">0</span>;
	bindCustomers<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>	
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> bindCustomers<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getCustomers</span><span style="color: #66cc66;">&#40;</span>cbEmployee.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">EmployeeID</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotCustomers<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	cbCustomer.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;
	cbCustomer.<span style="color: #006600;">selectedIndex</span> = <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">Para que quando o usuário acesse a aplicação os comboboxs já sejam preenchidos é necessário definir a propriedade creationComplete na tag mx:Application.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> creationComplete=<span style="color: #ff0000;">&quot;bindRegion()&quot;</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Com essa propriedade definida, depois de criada a aplicação, a função bindRegion será disparada iniciando assim a população de todos os comboboxs, pois eles estão aninhados.</p>
<p style="text-align: left;">Também é preciso configurar os comboboxs para que depois de alterada a seleção de um dos filtros, os outros sejam alterados também, para isso será utilizada a propriedade change.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbRegion&quot;</span> labelField=<span style="color: #ff0000;">&quot;RegionDescription&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> change=<span style="color: #ff0000;">&quot;bindTerritories()&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-274&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbTerritory&quot;</span> labelField=<span style="color: #ff0000;">&quot;TerritoryDescription&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> change=<span style="color: #ff0000;">&quot;bindEmployee()&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;-114&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbEmployee&quot;</span> labelField=<span style="color: #ff0000;">&quot;FullName&quot;</span> width=<span style="color: #ff0000;">&quot;89&quot;</span> change=<span style="color: #ff0000;">&quot;bindCustomers()&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;49&quot;</span><span style="color: #7400FF;">&gt;</span><span style="color: #7400FF;">&lt;/mx:ComboBox</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Agora faça a população da datagrid,</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> bindOrders<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getOrders</span><span style="color: #66cc66;">&#40;</span>cbCustomer.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">CustomerID</span>,cbEmployee.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">EmployeeID</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotOrders<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	dgPedido.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">Para que a função bindOrders seja disparada ao clicar o botão Consultar, defina a propriedade click do botão btConsultar.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>mx:<span style="color: #0066CC;">Button</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> label=<span style="color: #ff0000;">&quot;Consultar&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;119&quot;</span> click=<span style="color: #ff0000;">&quot;bindOrders()&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;310&quot;</span> id=<span style="color: #ff0000;">&quot;btConsultar&quot;</span><span style="color: #66cc66;">/&gt;</span></pre></div></div>

<p style="text-align: left;">Para finalizar o projeto, crie a estrutura para exibir os detalhes dos pedidos. Para isso crie uma TitleWindow, em File / New / MXML Component, defina o nome de orderDetails, baseado em TitleWindow</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/26_criarnovocomponente.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/26_criarnovocomponente-300x284.png" alt="Criar novo componente" title="Criar novo componente" width="300" height="284" class="aligncenter size-medium wp-image-532" /></a></p>
<p style="text-align: left;">Utilize o código abaixo para a TitleWindow orderDetails.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TitleWindow</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> width=<span style="color: #ff0000;">&quot;730&quot;</span> height=<span style="color: #ff0000;">&quot;420&quot;</span> title=<span style="color: #ff0000;">&quot;Detalhes do Pedido&quot;</span> showCloseButton=<span style="color: #ff0000;">&quot;true&quot;</span> close=<span style="color: #ff0000;">&quot;{PopUpManager.removePopUp(this)}&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">	&lt;![CDATA[</span>
<span style="color: #339933;">		import mx.managers.PopUpManager;</span>
<span style="color: #339933;">		import mx.events.CloseEvent;</span>
<span style="color: #339933;">	]]&gt;</span>
<span style="color: #339933;">&lt;/mx:Script&gt;</span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGrid</span> left=<span style="color: #ff0000;">&quot;10&quot;</span> right=<span style="color: #ff0000;">&quot;10&quot;</span> top=<span style="color: #ff0000;">&quot;10&quot;</span> bottom=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;dgOrderDetails&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Cód.&quot;</span> dataField=<span style="color: #ff0000;">&quot;ProductID&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Produto&quot;</span> dataField=<span style="color: #ff0000;">&quot;ProductName&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Preço Un.&quot;</span> dataField=<span style="color: #ff0000;">&quot;UnitPrice&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Qtde&quot;</span> dataField=<span style="color: #ff0000;">&quot;Quantity&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Desconto&quot;</span> dataField=<span style="color: #ff0000;">&quot;Discount&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Total&quot;</span> dataField=<span style="color: #ff0000;">&quot;Total&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:columns</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGrid</span><span style="color: #7400FF;">&gt;</span></span>	
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:TitleWindow</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Crie as funções para a população da TitleWindow orderDetails dentro do script do arquivo ArtigoFlex.mxml</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">managers</span>.<span style="color: #006600;">PopUpManager</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> bindOrderDetails<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	roNet.<span style="color: #006600;">getOrderDetails</span><span style="color: #66cc66;">&#40;</span>dgPedido.<span style="color: #006600;">selectedItem</span>.<span style="color: #006600;">OrderID</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> gotOrderDetails<span style="color: #66cc66;">&#40;</span>event:ResultEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> popUp:orderDetails = orderDetails<span style="color: #66cc66;">&#40;</span>PopUpManager.<span style="color: #006600;">createPopUp</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, orderDetails, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	PopUpManager.<span style="color: #006600;">centerPopUp</span><span style="color: #66cc66;">&#40;</span>popUp<span style="color: #66cc66;">&#41;</span>;
	popUp.<span style="color: #006600;">dgOrderDetails</span>.<span style="color: #006600;">dataProvider</span> = event.<span style="color: #006600;">result</span>;						
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: left;">Altere a primeira coluna da datagrid dgPedido para o código abaixo para inserir o botão para exibir os detalhes do pedido.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:DataGridColumn</span> headerText=<span style="color: #ff0000;">&quot;Detalhes&quot;</span> width=<span style="color: #ff0000;">&quot;85&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Component</span><span style="color: #7400FF;">&gt;</span></span>						
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:HBox</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span> horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Button</span> y=<span style="color: #ff0000;">&quot;10&quot;</span> width=<span style="color: #ff0000;">&quot;80&quot;</span> label=<span style="color: #ff0000;">&quot;Detalhes&quot;</span> click=<span style="color: #ff0000;">&quot;outerDocument.bindOrderDetails()&quot;</span> id=<span style="color: #ff0000;">&quot;btDetalhes&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:HBox</span><span style="color: #7400FF;">&gt;</span></span>			
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Component</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:itemRenderer</span><span style="color: #7400FF;">&gt;</span></span>				
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:DataGridColumn</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p style="text-align: left;">Salve o projeto e execute, o resultado deve ser como o das figuras abaixo.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/27_datagridpreenchida.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/27_datagridpreenchida-300x216.png" alt="Datagrid preenchida" title="Datagrid preenchida" width="300" height="216" class="aligncenter size-medium wp-image-534" /></a></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/01/28_datagridorderdetailspreenchida.png" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2009/01/28_datagridorderdetailspreenchida-300x216.png" alt="Datagrid orderDetails preenchida" title="Datagrid orderDetails preenchida" width="300" height="216" class="aligncenter size-medium wp-image-535" /></a></p>
<p style="text-align: left;">Baixe o <a href='http://www.igormusardo.com.br/wp-content/uploads/2009/01/fonte.rar' target="_blank">código fonte completo</a>.</p>
<p style="text-align: left;">Divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2009/01/26/construindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Concurso Cultural Flex-Brasil: Por que Flex?</title>
		<link>http://igormusardo.com.br/2008/12/16/concurso-cultural-flex-brasil-por-que-flex/</link>
		<comments>http://igormusardo.com.br/2008/12/16/concurso-cultural-flex-brasil-por-que-flex/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 13:14:25 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=425</guid>
		<description><![CDATA[Como participar? 1,2,3 passos

1 - Grave seu vídeo
2 - Faça o upload no youtube
3 - Tag nas opções do youtube como :porqueflex tudo junto e minúsculo

Pronto você está participando do concurso cultural.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F12%2F16%2Fconcurso-cultural-flex-brasil-por-que-flex%2F&title=Concurso+Cultural+Flex-Brasil%3A+Por+que+Flex%3F&desc=%0D%0A%0D%0AComo+participar%3F+1%2C2%2C3+passos%0D%0A%0D%0A1+-+Grave+seu+v%C3%ADdeo%0D%0A2+-+Fa%C3%A7a+o+upload+no+youtube%0D%0A3+-+Tag+nas+op%C3%A7%C3%B5es+do+youtube+como+%3Aporqueflex+tudo+junto+e+min%C3%BAsculo%0D%0A%0D%0APronto+voc%C3%AA+est%C3%A1+participando+do&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><img class="aligncenter size-full wp-image-426" title="Concurso Cultural Flex-Brasil: Por que Flex?" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/logo_concurso_cultural_flex.jpg" alt="Concurso Cultural Flex-Brasil: Por que Flex?" width="510" height="127" /></p>
<p><strong>Como participar? 1,2,3 passos</strong></p>
<p>1 &#8211; Grave seu vídeo<br />
2 &#8211; Faça o upload no youtube<br />
3 &#8211; Tag nas opções do youtube como :porqueflex tudo junto e minúsculo</p>
<p>Pronto você está participando do concurso cultural.</p>
<p><strong>Regras</strong>:</p>
<p>As regras do concurso são simples, faça o bom video que os critérios são:</p>
<p>Originalidade<br />
Criatividade<br />
Melhor justificativa</p>
<p><strong>Prêmio:</strong></p>
<p>O melhor vídeo leva para casa como presente de natal.</p>
<p>1 Licença do Adobe Flex 3 Builder Professional</p>
<p><strong>Validade:</strong></p>
<p>Até dia 23/12/2008 (prazo final)</p>
<p><strong>Quem pode participar?</strong></p>
<p>Grupos de usuário Flex-brasil e Flexdev<br />
Grupos de usuário Flex de Portugal.</p>
<p style="margin: 0pt;">Visite a Flex-Brasil: <a href="http://www.flexbrasil.org/" target="_blank">http://www.flexbrasil.org</a></p>
<p style="margin: 0pt;">Lista de discussão: <a href="http://br.groups.yahoo.com/group/flex-brasil/" target="_blank">http://br.groups.yahoo.com/group/flex-brasil/</a></p>
<p style="margin: 0pt;">Visite Flexdev grupo de discussão: <a href="http://groups.google.com/group/flexdev" target="_blank">http://groups.google.com/group/flexdev</a></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/12/16/concurso-cultural-flex-brasil-por-que-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eventos online e gratuitos sobre Adobe Flex</title>
		<link>http://igormusardo.com.br/2008/12/15/eventos-online-e-gratuitos-sobre-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2008/12/15/eventos-online-e-gratuitos-sobre-adobe-flex/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 14:00:07 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Palestra]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=411</guid>
		<description><![CDATA[Vou divulgar dois eventos online e gratuitos que serão realizados pelo grupo de usuários Adobe do Rio Grande do Sul.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F12%2F15%2Feventos-online-e-gratuitos-sobre-adobe-flex%2F&title=Eventos+online+e+gratuitos+sobre+Adobe+Flex&desc=Vou+pegar+carona+o+post+do+Eberton+Consolim+e+vou+ajudar+a+divulgar+dois+eventos+online+e+gratuitos+que+ser%C3%A3o+realizados+pelo+grupo+de+usu%C3%A1rios+Adobe+do+Rio+Grande+do+Sul%2C+o+AUGRS%3A%0D%0A%0D%0APalestra%3A+Cons&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Vou pegar carona o <a href="http://www.flexdev.com.br/home/eventos-online-e-gratuitos-augrs/" target="_blank">post</a> do <a href="http://www.flexdev.com.br" target="_blank">Eberton Consolim</a> e vou ajudar a divulgar dois eventos online e gratuitos que serão realizados pelo grupo de usuários <a href="http://www.augrs.com/" target="_blank">Adobe do Rio Grande do Sul</a>, o <a href="http://www.augrs.com/" target="_blank">AUGRS</a>:</p>
<p><strong>Palestra: Construindo um aplicativo simples com Flex Builder 3<br />
Palestrante: Gabriela Perry<br />
</strong><strong>Descrição: </strong>Nesse workshop iremos contruir uma aplicação utilizando o Flex Builder. Entre os tópicos abordados estão: criação de componentes, aplicação de estilos (design) e efeitos (animações).<br />
<strong>Update: <a href="https://admin.na3.acrobat.com/_a204547676/p43173144/" target="_blank">Assista a palestra gravada</a></strong>.</p>
<p><strong>Palestra: O Trabalho do Desenvolvedor Actionscript no Brasil </strong><strong><br />
Palestrante: <a href="http://zehfernando.com/" target="_blank">Zeh Fernando</a>, mais conhecido como Zeh ou Tweener.</strong><strong><br />
URL</strong>: <a href="http://experts.na3.acrobat.com/augrs_workshop_zeh/" target="_blank">http://experts.na3.acrobat.com/augrs_workshop_zeh/</a> <strong><br />
Descrição: </strong>Abordagem do tarabalho típico de desenvolvedores Actionscript, com demonstração de cases, cenários de trabalho comuns, discussão sobre os profissionais geralmente envolvidos nos trabalhos, empresas, agências, estúdios e como lidar com eles, e diferenças entre clientes nacionais e internacionais.<br />
<strong>Update: <a href="https://admin.na3.acrobat.com/_a204547676/p44372040/" target="_blank">Assista a palestra gravada</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/12/15/eventos-online-e-gratuitos-sobre-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WebOrb 3.6 para .NET está disponível</title>
		<link>http://igormusardo.com.br/2008/12/12/weborb-36-para-net-esta-disponivel/</link>
		<comments>http://igormusardo.com.br/2008/12/12/weborb-36-para-net-esta-disponivel/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 20:18:55 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=391</guid>
		<description><![CDATA[A equipe do The Midnight Coders disponibilizou no dia 4 de Dezembro a versão 3.6 do WebOrb para .NET, entre as novas funcionalidades estão o suporte ao Silverlight e os templates para o Visual Studio 2005/2008.]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F12%2F12%2Fweborb-36-para-net-esta-disponivel%2F&title=WebOrb+3.6+para+.NET+est%C3%A1+dispon%C3%ADvel&desc=%0D%0A%0D%0ANo+dia+4+de+Dezembro+a+equipe+do+The+Midnight+Coders+disponibilizou+a+nova+vers%C3%A3o+do+WebOrb+para+.NET%2C+a+vers%C3%A3o+3.6.%0D%0A%0D%0ANesta+vers%C3%A3o%2C%C2%A0+temos+como+novas+funcionalidades%3A%0D%0A%0D%0A%09Integra%C3%A7%C3%A3o+ao+Mic&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p><img class="size-full wp-image-398 alignleft" title="WebOrb .Net" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbnet.jpg" alt="WebOrb .Net" width="171" height="202" /></p>
<p>No dia 4 de Dezembro a equipe do <a href="http://www.themidnightcoders.com/blog/2008/12/weborb-36-for-net-is-available.html" target="_blank">The Midnight Coders</a> disponibilizou a nova versão do <a href="http://www.themidnightcoders.com/products/weborb-for-net/overview.html" target="_blank">WebOrb para .NET</a>, a versão 3.6.</p>
<p>Nesta versão,  temos como novas funcionalidades:</p>
<ul>
<li><strong>Integração ao Microsoft Silverlight</strong>: Permite invocar métodos via Remote Objects de forma tão simples como Webservices;</li>
<li><strong>Suporte a invocações servidor-servidor vai AMF</strong>: Permite a integração cross-platform, onde .NET pode invocar Java ou aplicações nativas, usando uma API simples e intuitiva sem toda a complexidade associadade ao processo de integração entre plataformas diferentes;</li>
<li><strong>Template WebOrb para o Visual Studio 2005/2008</strong>: Os templates estão disponíveis em C# e em Visual Basic, e em dois modelos, um para criar um website WebOrb-enable e outro para criar uma biblioteca WebOrb-enable. Veja nos dois screencasts a demonstração do funcionamento.
<ul>
<li><a href="http://www.themidnightcoders.com/products/weborb-for-net/developer-den/screencasts/using-weborb-visual-studio-templates-part1.html" target="_blank">Usando o template WebOrb no Visual Studio parte 1</a>;</li>
<li><a href="http://www.themidnightcoders.com/products/weborb-for-net/developer-den/screencasts/using-weborb-visual-studio-templates-part2.html" target="_blank">Usando o template WebOrb no Visual Studio parte 2</a>;</li>
</ul>
</li>
<li><strong>E correções de Bugs</strong>.</li>
</ul>
<p>Ele está disponível para download no <a href="http://www.themidnightcoders.com/products/weborb-for-net/download.html" target="_blank">site do fabricante</a>.</p>
<p>Eu já instalei e testei os templates do Visual Studio, e posso dizer que facilita bastante a configuração inicial da aplicação .NET para se comunicar com o Adobe Flex. Segue abaixo alguns print-screens.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbnewproject.gif" target="_blank"><img class="aligncenter size-medium wp-image-401" title="WebOrb New Project" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbnewproject-300x192.gif" alt="WebOrb New Project" width="300" height="192" /></a><br />
Criar um novo projeto de Biblioteca com WebOrb.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbnewwebsite.gif" target="_blank"><img class="aligncenter size-medium wp-image-402" title="WebOrb new website" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbnewwebsite-300x195.gif" alt="WebOrb new website" width="300" height="195" /></a><br />
Criar um novo Website com WebOrb ativo.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-403" title="WebOrb solution explorer" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/weborbsolutionexplorer.gif" alt="WebOrb solution explorer" width="273" height="408" /><br />
Solution Explorer do Visual Studio mostrando os arquivos criados pelo template do WebOrb.</p>
<p style="text-align: left;">Baixe a sua cópia gratuíta, faça a utilização desta ótima ferramenta e comente aqui.</p>
<p style="text-align: left;">Divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/12/12/weborb-36-para-net-esta-disponivel/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Tutoriais, Componentes e Temas interessantes para o Adobe Flex</title>
		<link>http://igormusardo.com.br/2008/12/05/tutoriais-componentes-temas-interessantes-para-o-adobe-flex/</link>
		<comments>http://igormusardo.com.br/2008/12/05/tutoriais-componentes-temas-interessantes-para-o-adobe-flex/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 12:44:00 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Componente]]></category>
		<category><![CDATA[Tema]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=357</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F12%2F05%2Ftutoriais-componentes-temas-interessantes-para-o-adobe-flex%2F&title=Tutoriais%2C+Componentes+e+Temas+interessantes+para+o+Adobe+Flex&desc=Encontrei+no+site+Noupe.com+uma+rela%C3%A7%C3%A3o++interessant%C3%ADssima+de+tutoriais%2C+componentes+e+temas+para+o+Adobe+Flex.%0D%0ATutoriais%0D%0A%0D%0ATutorial+simples+de+Flex%0D%0A%0D%0A%0D%0ATutorial+para+completos+iniciantes+em+Ado&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Encontrei no site Noupe.com uma relação interessantíssima de tutoriais, componentes e temas para o Adobe Flex. Tutoriais Tutorial simples de Flex Tutorial para completos iniciantes em Adobe Flex Componentes Tour de Flex; Tour de Flex é uma aplicação desktop em AIR que explorar os recursos e capacidades do Flex, incluindo os componentes padrões, Adobe Air&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F12%2F05%2Ftutoriais-componentes-temas-interessantes-para-o-adobe-flex%2F&title=Tutoriais%2C+Componentes+e+Temas+interessantes+para+o+Adobe+Flex&desc=Encontrei+no+site+Noupe.com+uma+rela%C3%A7%C3%A3o++interessant%C3%ADssima+de+tutoriais%2C+componentes+e+temas+para+o+Adobe+Flex.%0D%0ATutoriais%0D%0A%0D%0ATutorial+simples+de+Flex%0D%0A%0D%0A%0D%0ATutorial+para+completos+iniciantes+em+Ado&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Encontrei no site <a href="http://www.noupe.com/adobe/flex-developers-toolbox-free-components-themes-and-tutorials.html" target="_blank">Noupe.com</a> uma relação  interessantíssima de <strong>tutoriais</strong>, <strong>componentes</strong> e <strong>temas</strong> para o <strong>Adobe Flex</strong>.<br />
<span id="more-357"></span><br />
<h2>Tutoriais</h2>
<p><img class="alignnone size-medium wp-image-371" title="Tutorial Simples" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/tutorialsimples-300x180.jpg" alt="" width="300" height="180" /><br />
Tutorial simples de Flex</p>
<p><a href="http://www.sitepoint.com/article/beginners-tutorial-flex-3/" target="_blank"><img class="alignnone size-medium wp-image-372" title="Tutorial Iniciante" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/tutorialiniciante-300x90.gif" alt="" width="300" height="90" /><br />
Tutorial para completos iniciantes em Adobe Flex</a></p>
<h2>Componentes</h2>
<p><strong>Tour de Flex</strong>;<br />
<a href="http://flex.org/tour" target="_blank"><img class="alignnone size-medium wp-image-358" title="Tour de Flex" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/tourdeflex-300x270.jpg" alt="" width="300" height="270" /></a></p>
<p>Tour de Flex é uma aplicação desktop em AIR que explorar os recursos e capacidades do Flex, incluindo os componentes padrões, Adobe Air e integração de dados, também como uma variedade de componentes de terceiros.</p>
<p><strong>AlivePDF</strong><br />
<a href="http://www.alivepdf.org/" target="_blank"><img class="alignnone size-medium wp-image-359" title="Alive PDF" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/alivepdf-300x65.jpg" alt="" width="300" height="65" /></a><br />
É um gerador de PDF open-source feito em Action Script 3, isso permite que suas aplicações gerem PDF na máquina cliente.<br />
<a href="http://code.google.com/p/alivepdf/downloads/list" target="_blank">Download</a><br />
<a href="http://alivepdf.bytearray.org/?page_id=4" target="_blank">Tutorial</a></p>
<p><strong>Fisheye</strong><br />
<a href="http://www.quietlyscheming.com/blog/components/fisheye-component/" target="_blank"><img class="alignnone size-medium wp-image-360" title="Fisheye" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/fisheye-300x156.jpg" alt="" width="300" height="156" /></a><br />
Obtenha resultado semelhante a barra de aplicativos do MacOS.<br />
<a href="http://demo.quietlyscheming.com/source/Fisheye.zip" target="_blank">Download</a><br />
<a href="http://demo.quietlyscheming.com/fisheye/index.html" target="_blank">Demo1</a><br />
<a href="http://demo.quietlyscheming.com/fisheye/TileExplorer.html" target="_blank">Demo2</a></p>
<p><strong>FlexBook</strong><br />
<a href="http://www.quietlyscheming.com/blog/components/flexbook/" target="_blank"><img class="alignnone size-medium wp-image-361" title="FlexBook" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/flexbook-300x195.gif" alt="" width="300" height="195" /></a><br />
Deixe sua aplicação em formato de livro, com a transição entre telas como um virar de páginas.<br />
<a href="http://demo.quietlyscheming.com/book/app.html" target="_blank">Demo1</a><br />
<a href="http://demo.quietlyscheming.com/book/FormContent.html" target="_blank">Demo2</a><br />
<a href="http://demo.quietlyscheming.com/book/DataDriven.html" target="_blank">Demo3</a></p>
<p><strong>DisplayShelf</strong><br />
<a href="http://www.quietlyscheming.com/blog/components/tutorial-displayshelf-component/" target="_blank"><img class="alignnone size-medium wp-image-362" title="DisplayShelf" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/displayshelf-300x180.jpg" alt="" width="300" height="180" /></a><br />
Possui o comportamento similar ao CoverFlow do iTunes v7.<br />
<a href="http://demo.quietlyscheming.com/displayShelf/download/DisplayShelf.zip" target="_blank">Download</a><br />
<a href="http://demo.quietlyscheming.com/displayShelf/index.html" target="_blank">Demo</a></p>
<p><strong>Adobe AutoComplete</strong><br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1047291" target="_blank"><img class="alignnone size-medium wp-image-364" title="Autocomplete" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/autocomplete-300x124.gif" alt="" width="300" height="124" /></a><br />
Controle TextInput com autocomplete.<br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1047291#" target="_blank"> Download</a><br />
<a href="http://examples.adobe.com/flex2/exchange/AutoComplete/Autocomplete.html" target="_blank"> Demo</a></p>
<p><strong>Adobe Docking ToolBar</strong><br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1105970" target="_blank"><img class="alignnone size-medium wp-image-365" title="Docking" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/docking-300x150.jpg" alt="" width="300" height="150" /></a><br />
O Docking ToolBar ajuda a manipular as toolbars da aplicação.<br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1105970#" target="_blank"> Download</a><br />
<a href="http://examples.adobe.com/flex2/exchange/Docker/MultipleToolBars/MultipleToolBars.html" target="_blank"> Demo</a></p>
<p><strong>Astra: Toolkit ActionScript para Aplicações Ricas</strong><br />
<a href="http://developer.yahoo.com/flash/" target="_blank"><img class="alignnone size-medium wp-image-367" title="Astra" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/astra-300x176.jpg" alt="" width="300" height="176" /></a><br />
Toolkit desenvolvido pelo Yahoo! com vários componentes interessantes, incluindo: AutoCompleteManager, ColorPlaneAndSliderPicker, ColorSliderPicker, DropDownColorPicker, IPv4AddressInput, TimeInput e TimeStepper.<br />
 Download</p>
<p><strong><span style="color: #888888;">Degrafa</span></strong><br />
<a href="http://degrafa.org/" target="_blank"><img class="alignnone size-medium wp-image-368" title="Degrafa" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/degrafa-300x162.jpg" alt="" width="300" height="162" /></a><br />
O Toolkit Degrafa é utilizado para Interfaces Ricas, Visualização de Dados, Mapeamento e edição de Gráficos.<br />
<a href="http://degrafa.org/code" target="_blank"> Download</a><br />
<a href="http://samples.degrafa.com/" target="_blank"> Demo</a></p>
<p><strong><a href="http://code.google.com/p/flexlib/" target="_blank">Flexlib</a></strong><br />
Flexlib é um esforço da comunidade em criar componentes para o Adobe Flex 2 e 3.<br />
<a href="http://code.google.com/p/flexlib/wiki/ComponentList" target="_blank"> Lista de completa de componentes</a><br />
<a href="http://code.google.com/p/flexlib/source" target="_blank"> Download</a></p>
<h2>Temas</h2>
<p><strong>Tema BluePlastic</strong><br />
<a href="http://fleksray.org/skins/blueplastic/BluePlastic.html" target="_blank"><img class="alignnone size-medium wp-image-369" title="BluePlastic" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/blueplastic-300x156.jpg" alt="" width="300" height="156" /></a><br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1241021#" target="_blank">Download</a><br />
<a href="http://fleksray.org/skins/blueplastic/BluePlastic.html" target="_blank"> Demo</a></p>
<p><strong>Tema Dark Nite</strong></p>
<p><a href="http://fleksray.org/skins/darknite/skin_flex_dark_nite.html" target="_blank"><img class="alignnone size-medium wp-image-370" title="Dark Nite" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/darknite-300x141.jpg" alt="" width="300" height="141" /></a><br />
<a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1222526" target="_blank">Download</a><br />
<a href="http://fleksray.org/skins/darknite/skin_flex_dark_nite.html" target="_blank">Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/12/05/tutoriais-componentes-temas-interessantes-para-o-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe Max 2008: Visual Studio, Flex e AMF</title>
		<link>http://igormusardo.com.br/2008/11/18/adobe-max-2008-visual-studio-flex-e-amf/</link>
		<comments>http://igormusardo.com.br/2008/11/18/adobe-max-2008-visual-studio-flex-e-amf/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 20:01:09 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Adobe Max]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=316</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F18%2Fadobe-max-2008-visual-studio-flex-e-amf%2F&title=Adobe+Max+2008%3A+Visual+Studio%2C+Flex+e+AMF&desc=O+Rafael+Martinelli+da+DClick%2C+est%C3%A1+participando+do+Adobe+Max+2008+em+S%C3%A3o+Francisco+na+Calif%C3%B3rnia+e+acabou+de+blogar+sobre+algo+simplesmente+espetacular+para+os+.NET+developers.+%0D%0A%0D%0AA+Adobe+est%C3%A1+d&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>O Rafael Martinelli da DClick, está participando do Adobe Max 2008 em São Francisco na Califórnia e acabou de blogar sobre algo simplesmente espetacular para os .NET developers. A Adobe está desenvolvendo um plugin para desenvolver Flex no Visual Studio, inclusive com Debug. Dificil vai ser aguentar a espera para estre plugin entrar no Adobe&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F18%2Fadobe-max-2008-visual-studio-flex-e-amf%2F&title=Adobe+Max+2008%3A+Visual+Studio%2C+Flex+e+AMF&desc=O+Rafael+Martinelli+da+DClick%2C+est%C3%A1+participando+do+Adobe+Max+2008+em+S%C3%A3o+Francisco+na+Calif%C3%B3rnia+e+acabou+de+blogar+sobre+algo+simplesmente+espetacular+para+os+.NET+developers.+%0D%0A%0D%0AA+Adobe+est%C3%A1+d&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>O Rafael Martinelli da <a href="http://www.dclick.com.br/" target="blank">DClick</a>, está participando do <a href="http://max.adobe.com/" target="_blank">Adobe Max 2008</a> em São Francisco na Califórnia e acabou de <a href="http://blog.dclick.com.br/2008/11/18/adobe-max-2008-visual-studio-flex-e-amf/pt/" target="_blank" class="broken_link">blogar</a> sobre algo simplesmente espetacular para os .NET developers. </p>
<p>A Adobe está desenvolvendo um plugin para desenvolver Flex no Visual Studio, inclusive com Debug. Dificil vai ser aguentar a espera para estre plugin entrar no <a href="http://labs.adobe.com/" target="_blank">Adobe Labs</a>.</p>
<p>Com isso, a Microsoft vai ter que <a href="http://www.baboo.com.br/absolutenm/templates/content.asp?articleid=33382&#038;zoneid=221&#038;resumo=" target="_blank">rebolar ainda mais para conseguir emplacar o Silverlight</a>.</p>
<p><em><strong>Atualizando&#8230;.</strong></em><br />
O <a href="http://www.igorcosta.com/blog/?p=721" target="_blank">Igor Costa, acabou de surpreender com um post</a> sobre o <a href="http://www.ensemble.com/products/tofino.html" target="_blank">Tofino</a>, que já é um plugin pro Visual Studio 2008, onde é possível desenvolver para o Flex utilizando a IDE do VS 2008.</p>
<p>O plugin já tem as seguintes funcionalidades:<br />
    o Create new projects in a solution using the Visual Studio wizard approach.<br />
    o Run Flex applications from within Microsoft Visual Studio.<br />
          o Set breakpoints at code locations in “.as” or “.mxml” files.<br />
          o Step into code while in break mode.<br />
          o Inspect local variables while in break mode.<br />
    o Build errors are reported in the Visual Studio error list, and are linked to the source location.<br />
    o Browse ActionScript types from referenced components (SWCs) in the Visual Studio object browser.<br />
    o Navigate types and members in ActionScript files via drop-downs in the ActionScript code window.<br />
    o Simple installation; Tofino includes the Adobe Flex SDK.<br />
    o Adds links to relevant Adobe LiveDocs and PDFs for Flex to Visual Studio Help.</p>
<p>O download é gratuíto! Vou baixar e testar.</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/11/18/adobe-max-2008-visual-studio-flex-e-amf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adobe Flex &#8211; Criar colunas dinamicamente na DataGrid</title>
		<link>http://igormusardo.com.br/2008/11/14/adobe-flex-criar-colunas-dinamicamente-na-datagrid/</link>
		<comments>http://igormusardo.com.br/2008/11/14/adobe-flex-criar-colunas-dinamicamente-na-datagrid/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:04:00 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DataGrid]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=295</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F14%2Fadobe-flex-criar-colunas-dinamicamente-na-datagrid%2F&title=Adobe+Flex+-+Criar+colunas+dinamicamente+na+DataGrid&desc=O+t%C3%ADtulo+pode+at%C3%A9+n%C3%A3o+ser+chamativo%2C+visto+que+o+Adobe+Flex+cria+automaticamente+colunas+com+base+em+seu+dataProvider+como+no+exemplo+abaixo.%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%09%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0AOu+seja%2C+de+uma+maneira+bem+simpl&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>O título pode até não ser chamativo, visto que o Adobe Flex cria automaticamente colunas com base em seu dataProvider como no exemplo abaixo. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 &#60;mx:Application xmlns:mx=&#34;http://www.adobe.com/2006/mxml&#34; layout=&#34;absolute&#34; creationComplete=&#34;init()&#34;&#62; &#60;mx:Script&#62; &#60;!&#91;CDATA&#91; &#91;Bindable&#93; private var dp:Array&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F14%2Fadobe-flex-criar-colunas-dinamicamente-na-datagrid%2F&title=Adobe+Flex+-+Criar+colunas+dinamicamente+na+DataGrid&desc=O+t%C3%ADtulo+pode+at%C3%A9+n%C3%A3o+ser+chamativo%2C+visto+que+o+Adobe+Flex+cria+automaticamente+colunas+com+base+em+seu+dataProvider+como+no+exemplo+abaixo.%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%09%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0AOu+seja%2C+de+uma+maneira+bem+simpl&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>O título pode até não ser chamativo, visto que o Adobe Flex cria automaticamente colunas com base em seu dataProvider como no exemplo abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>mx:Application xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> creationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> dp:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span>
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;ADBE&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Adobe Systems Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MACR&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Macromedia Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MSFT&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Microsoft Corp.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;IBM&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;IBM Corp.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;ADBE&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Adobe Systems Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MACR&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Macromedia Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#93;</span>;
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			dgDado.<span style="color: #006600;">dataProvider</span> = dp;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:DataGrid id=<span style="color: #ff0000;">&quot;dgDado&quot;</span> <span style="color: #66cc66;">/&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Application<span style="color: #66cc66;">&gt;</span></pre></td></tr></table></div>

<p>Ou seja, de uma maneira bem simples, temos uma DataGrid com as colunas criadas automaticamente em tempo de execução com o seguinte resultado:</p>
<p align='center'><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/11/gridautomatica.png" target="_blank" rel="lightbox" title="Datagrid Automática"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/gridautomatica-300x66.png" alt="" title="DataGrid Automática" width="300" height="66" class="aligncenter size-medium wp-image-297" /></a></p>
<p>Mas perceba que o resultado obtido não é dos melhores, pois todas as colunas estão com o mesmo tamanho, as células com valores não possuem formatação, em fim, não tem qualquer personalização.</p>
<p>O meu propósito com esse post é compartilhar com você, como criar colunas de uma DataGrid de formata dinâmica com base no DataProvider.</p>
<p><span id="more-295"></span>Essa funcionalidade se aplica muito bem em relatórios onde o retorno do Banco de Dados é gerado dinâmicamente através de Stored Procedures, ou seja, as colunas retornadas da base dados são desconhecidas.</p>
<p>Então para isso iremos criar uma função que receberá um objeto, que retornou do banco, e através da função <strong>ObjectUtil.getClassInfo</strong> serão capturadas as propriedades de objeto. Cada propriedade, será uma coluna da DataGrid.</p>
<p>Após capturar as propriedades, é preciso somentar dar um loop em torno de todas elas e criar uma coluna específica para cada propriedade. Assim, é possível personalizar cada coluna com base em seu nome, como por exemplo:</p>
<p>- A coluna &#8220;<strong>name</strong>&#8221; deixaremos com a largura de 200 pixel, as outras colunas ficarão com 80 pixel de largura;<br />
- Caso o nome da coluna comece com &#8220;<strong>price</strong>&#8220;, será aplicada a formatação de moeda através do <strong>CurrencyFormatter</strong>.</p>
<p>Com isso, nosso resultado final será como a figura abaixo:</p>
<p align='center'><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/11/gridcustomizada.png" target="_blank" rel="lightbox" title="DataGrid Customizada"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/gridcustomizada-300x68.png" alt="" title="DataGrid Customizada" width="300" height="68" class="aligncenter size-medium wp-image-300" /></a></p>
<p>Um pouco melhor que a configuração padrão do Flex, não acha?</p>
<p>Então mãos a obra.</p>
<p>Crie as funções <strong>criaColuna</strong> e <strong>formataNumero</strong> com base no código.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">dataGridClasses</span>.<span style="color: #006600;">DataGridColumn</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">ObjectUtil</span>;
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> criaColuna<span style="color: #66cc66;">&#40;</span>objTemp:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #808080; font-style: italic;">//Cria um vetor de colunas</span>
    <span style="color: #000000; font-weight: bold;">var</span> colunas:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">//Retorna as propriedades do objeto objTemp[0] para o Objeto properties</span>
    <span style="color: #000000; font-weight: bold;">var</span> properties:<span style="color: #0066CC;">Object</span> = ObjectUtil.<span style="color: #006600;">getClassInfo</span><span style="color: #66cc66;">&#40;</span>objTemp<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;	
&nbsp;
    <span style="color: #808080; font-style: italic;">//Da um loop para cada propriedade do objeto properties</span>
    <span style="color: #b1b100;">for</span> <span style="color: #b1b100;">each</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> property:<span style="color: #0066CC;">Object</span> <span style="color: #b1b100;">in</span> properties.<span style="color: #006600;">properties</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//Cria uma nova DataGridColumn						</span>
	<span style="color: #000000; font-weight: bold;">var</span> coluna:DataGridColumn  = <span style="color: #000000; font-weight: bold;">new</span> DataGridColumn<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	coluna.<span style="color: #006600;">headerText</span> = property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	    		
	coluna.<span style="color: #0066CC;">width</span> = <span style="color: #66cc66;">&#40;</span>property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'name'</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #cc66cc;">200</span> : <span style="color: #cc66cc;">80</span>;
	coluna.<span style="color: #006600;">resizable</span> = <span style="color: #000000; font-weight: bold;">false</span>;
	coluna.<span style="color: #006600;">dataField</span> = property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">substr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'price'</span><span style="color: #66cc66;">&#41;</span>
		coluna.<span style="color: #006600;">labelFunction</span> = formataNumero;
	colunas.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>coluna<span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Inclui a nova coluna ao vetor de colunas</span>
    <span style="color: #66cc66;">&#125;</span>
	dgDado.<span style="color: #006600;">columns</span> = colunas;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> formataNumero<span style="color: #66cc66;">&#40;</span>item:<span style="color: #0066CC;">Object</span>, column:DataGridColumn<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#123;</span>	
	<span style="color: #b1b100;">return</span> formataMoeda.<span style="color: #006600;">format</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#91;</span>column.<span style="color: #006600;">dataField</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Agora declare o <strong>CurrencyFormatter</strong>, antes da declaração da DataGrid.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:CurrencyFormatter</span> id=<span style="color: #ff0000;">&quot;formataMoeda&quot;</span> precision=<span style="color: #ff0000;">&quot;2&quot;</span> currencySymbol=<span style="color: #ff0000;">&quot;R$ &quot;</span> decimalSeparatorTo=<span style="color: #ff0000;">&quot;,&quot;</span> thousandsSeparatorTo=<span style="color: #ff0000;">&quot;.&quot;</span> useNegativeSign=<span style="color: #ff0000;">&quot;true&quot;</span> useThousandsSeparator=<span style="color: #ff0000;">&quot;true&quot;</span> alignSymbol=<span style="color: #ff0000;">&quot;left&quot;</span><span style="color: #7400FF;">/&gt;</span></span></pre></td></tr></table></div>

<p>E para finalizar, na função <strong>init()</strong>, chame a função <strong>criaColuna</strong> passando o vetor <strong>dp</strong> como parâmetro.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	criaColuna<span style="color: #66cc66;">&#40;</span>dp<span style="color: #66cc66;">&#41;</span>;
	dgDado.<span style="color: #006600;">dataProvider</span> = dp;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Pronto, sua DataGrid criará as colunas dinamicamente de forma customizada.</p>
<p>Veja o código completo abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>?<span style="color: #0066CC;">xml</span> <span style="color: #0066CC;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:Application xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> creationComplete=<span style="color: #ff0000;">&quot;init()&quot;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
		<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">dataGridClasses</span>.<span style="color: #006600;">DataGridColumn</span>;
		<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">ObjectUtil</span>;
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> dp:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span>
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;ADBE&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Adobe Systems Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MACR&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Macromedia Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MSFT&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Microsoft Corp.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;IBM&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;IBM Corp.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;ADBE&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Adobe Systems Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>,
			<span style="color: #66cc66;">&#123;</span> symbol: <span style="color: #ff0000;">&quot;MACR&quot;</span>, <span style="color: #0066CC;">name</span>: <span style="color: #ff0000;">&quot;Macromedia Inc.&quot;</span>, price1: <span style="color: #cc66cc;">49.95</span>, price2: <span style="color: #cc66cc;">49.95</span>, price3: <span style="color: #cc66cc;">49.95</span>, price4: <span style="color: #cc66cc;">49.95</span>, price5: <span style="color: #cc66cc;">49.95</span> <span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#93;</span>;
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			criaColuna<span style="color: #66cc66;">&#40;</span>dp<span style="color: #66cc66;">&#41;</span>;
			dgDado.<span style="color: #006600;">dataProvider</span> = dp;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> criaColuna<span style="color: #66cc66;">&#40;</span>objTemp:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//Cria um vetor de colunas</span>
			<span style="color: #000000; font-weight: bold;">var</span> colunas:<span style="color: #0066CC;">Array</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//Retorna as propriedades do objeto objTemp[0] para o Objeto properties</span>
		    <span style="color: #000000; font-weight: bold;">var</span> properties:<span style="color: #0066CC;">Object</span> = ObjectUtil.<span style="color: #006600;">getClassInfo</span><span style="color: #66cc66;">&#40;</span>objTemp<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;	
&nbsp;
			<span style="color: #808080; font-style: italic;">//Da um loop para cada propriedade do objeto properties</span>
		    <span style="color: #b1b100;">for</span> <span style="color: #b1b100;">each</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> property:<span style="color: #0066CC;">Object</span> <span style="color: #b1b100;">in</span> properties.<span style="color: #006600;">properties</span><span style="color: #66cc66;">&#41;</span>
		    <span style="color: #66cc66;">&#123;</span>
				<span style="color: #808080; font-style: italic;">//Cria uma nova DataGridColumn						</span>
				<span style="color: #000000; font-weight: bold;">var</span> coluna:DataGridColumn  = <span style="color: #000000; font-weight: bold;">new</span> DataGridColumn<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	    		coluna.<span style="color: #006600;">headerText</span> = property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;	    		
	    		coluna.<span style="color: #0066CC;">width</span> = <span style="color: #66cc66;">&#40;</span>property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'name'</span><span style="color: #66cc66;">&#41;</span> ? <span style="color: #cc66cc;">200</span> : <span style="color: #cc66cc;">80</span>;
	    		coluna.<span style="color: #006600;">resizable</span> = <span style="color: #000000; font-weight: bold;">false</span>;
	    		coluna.<span style="color: #006600;">dataField</span> = property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	    		<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>property.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">substr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'price'</span><span style="color: #66cc66;">&#41;</span>
	    			coluna.<span style="color: #006600;">labelFunction</span> = formataNumero;
				colunas.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>coluna<span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Inclui a nova coluna ao vetor de colunas</span>
		    <span style="color: #66cc66;">&#125;</span>
			dgDado.<span style="color: #006600;">columns</span> = colunas;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> formataNumero<span style="color: #66cc66;">&#40;</span>item:<span style="color: #0066CC;">Object</span>, column:DataGridColumn<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#123;</span>	
			<span style="color: #b1b100;">return</span> formataMoeda.<span style="color: #006600;">format</span><span style="color: #66cc66;">&#40;</span>item<span style="color: #66cc66;">&#91;</span>column.<span style="color: #006600;">dataField</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:CurrencyFormatter id=<span style="color: #ff0000;">&quot;formataMoeda&quot;</span> precision=<span style="color: #ff0000;">&quot;2&quot;</span> currencySymbol=<span style="color: #ff0000;">&quot;R$ &quot;</span> decimalSeparatorTo=<span style="color: #ff0000;">&quot;,&quot;</span> thousandsSeparatorTo=<span style="color: #ff0000;">&quot;.&quot;</span> useNegativeSign=<span style="color: #ff0000;">&quot;true&quot;</span> useThousandsSeparator=<span style="color: #ff0000;">&quot;true&quot;</span> alignSymbol=<span style="color: #ff0000;">&quot;left&quot;</span><span style="color: #66cc66;">/&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:DataGrid id=<span style="color: #ff0000;">&quot;dgDado&quot;</span> <span style="color: #66cc66;">/&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Application<span style="color: #66cc66;">&gt;</span></pre></td></tr></table></div>

<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/11/14/adobe-flex-criar-colunas-dinamicamente-na-datagrid/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Evento On-line: BlazeDS Integrando Java com Flex facilmente</title>
		<link>http://igormusardo.com.br/2008/11/14/evento-on-line-blazeds-integrando-java-com-flex-facilmente/</link>
		<comments>http://igormusardo.com.br/2008/11/14/evento-on-line-blazeds-integrando-java-com-flex-facilmente/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 18:58:27 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=290</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F14%2Fevento-on-line-blazeds-integrando-java-com-flex-facilmente%2F&title=Evento+On-line%3A+BlazeDS+Integrando+Java+com+Flex+facilmente&desc=Vou+pegar+uma+carona+no+post+do+Vedovelli+e+do+FlexDev%2C+e+lembrar+a+todos+que+amanh%C3%A3+%28s%C3%A1bado+15%2F11%29%2C+teremos+um+%C3%B3timo+evento+on-line+no+Caf%C3%A9+com+o+Tom.%0D%0A%0D%0AT%C3%ADtulo%3A+BlazeDS+%3A+Integrando+Java+e+Flex&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>Vou pegar uma carona no post do Vedovelli e do FlexDev, e lembrar a todos que amanhã (sábado 15/11), teremos um ótimo evento on-line no Café com o Tom. Título: BlazeDS : Integrando Java e Flex facilmente. Descrição: Esta palestra irá abordar temas importantes sobre a integração de Adobe Flex e Java por meio do&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F11%2F14%2Fevento-on-line-blazeds-integrando-java-com-flex-facilmente%2F&title=Evento+On-line%3A+BlazeDS+Integrando+Java+com+Flex+facilmente&desc=Vou+pegar+uma+carona+no+post+do+Vedovelli+e+do+FlexDev%2C+e+lembrar+a+todos+que+amanh%C3%A3+%28s%C3%A1bado+15%2F11%29%2C+teremos+um+%C3%B3timo+evento+on-line+no+Caf%C3%A9+com+o+Tom.%0D%0A%0D%0AT%C3%ADtulo%3A+BlazeDS+%3A+Integrando+Java+e+Flex&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p>Vou pegar uma carona no <a href="http://www.vedovelli.com.br/?p=555" target="_blank" class="broken_link">post do Vedovelli</a> e do <a href="http://www.flexdev.com.br/home/blazeds-integrando-java-e-flex-com-mrio-jnior/" target="_blank">FlexDev</a>, e lembrar a todos que amanhã (sábado 15/11), teremos um ótimo evento on-line no <a href="http://www.treinatom.com.br/pt/cafe-com-o-tom" target="_blank">Café com o Tom</a>.</p>
<p>Título: <strong>BlazeDS : Integrando Java e Flex facilmente</strong>.<br />
Descrição: Esta palestra irá abordar temas importantes sobre a integração de Adobe Flex e Java por meio do BlazeDS, onde será compartilhado todo o processo de criação, indo desde a instalação e configuração até chegar no desenvolvimento de um simples CRUD.<br />
Palestrante: Mário Júnior<br />
Data/hora: <strong>15/11/08 15:00</strong></p>
<p>Nos encontraremos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/11/14/evento-on-line-blazeds-integrando-java-com-flex-facilmente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flex &#8211; Combobox de múltipla de seleção</title>
		<link>http://igormusardo.com.br/2008/10/30/adobe-flex-combobox-de-multipla-de-selecao/</link>
		<comments>http://igormusardo.com.br/2008/10/30/adobe-flex-combobox-de-multipla-de-selecao/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 12:56:39 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Combobox]]></category>
		<category><![CDATA[MXML]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=238</guid>
		<description><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F10%2F30%2Fadobe-flex-combobox-de-multipla-de-selecao%2F&title=Adobe+Flex+-+Combobox+de+m%C3%BAltipla+de+sele%C3%A7%C3%A3o&desc=%0D%0AO+combobox+acima%2C+quando+voc%C3%AA+pressiona+a+tecla+Ctrl%2C+%C3%A9+poss%C3%ADvel+selecionar+mais+que+uma+op%C3%A7%C3%A3o.%0D%0APara+conseguir+esse+resultado+%C3%A9+necess%C3%A1rio+extender+o+componente+combobox+criando+um+novo+comp&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div>O combobox acima, quando você pressiona a tecla Ctrl, é possível selecionar mais que uma opção. Para conseguir esse resultado é necessário extender o componente combobox criando um novo componente como mostra o código abaixo: Arquivo ComboBoxs.as 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18&#8230;]]></description>
			<content:encoded><![CDATA[<div style="padding-top:5px;padding-right:0px;padding-bottom:5px;padding-left:0px;;">
											<iframe
												style="height:25px !important; border:0px solid gray !important; overflow:hidden !important; width:550px !important;" frameborder="0" scrolling="no" allowTransparency="true"
												src="http://www.linksalpha.com/social?blog=Igor+Musardo&link=http%3A%2F%2Figormusardo.com.br%2F2008%2F10%2F30%2Fadobe-flex-combobox-de-multipla-de-selecao%2F&title=Adobe+Flex+-+Combobox+de+m%C3%BAltipla+de+sele%C3%A7%C3%A3o&desc=%0D%0AO+combobox+acima%2C+quando+voc%C3%AA+pressiona+a+tecla+Ctrl%2C+%C3%A9+poss%C3%ADvel+selecionar+mais+que+uma+op%C3%A7%C3%A3o.%0D%0APara+conseguir+esse+resultado+%C3%A9+necess%C3%A1rio+extender+o+componente+combobox+criando+um+novo+comp&fc=333333&fs=arial&fblname=like&fblref=facebook&fbllang=pt_BR&fblshow=1&fbsbutton=1&fbsctr=1&fbslang=en&fbsendbutton=0&twbutton=1&twlang=en&twmention=igormusardo&twrelated1=igormusardo&twrelated2=igormusardo&twctr=1&lnkdshow=show&lnkdctr=1&buzzbutton=0&buzzlang=en&buzzctr=1&diggbutton=0&diggctr=1&stblbutton=0&stblctr=1&g1button=1&g1ctr=1&g1lang=pt-BR">
											</iframe>
										</div><p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="276" height="128" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.igormusardo.com.br/wp-content/uploads/2008/10/combobox.swf" /><embed type="application/x-shockwave-flash" width="276" height="128" src="http://www.igormusardo.com.br/wp-content/uploads/2008/10/combobox.swf"></embed></object>
</p>
<p style="text-align: left;">O combobox acima, quando você pressiona a tecla Ctrl, é possível selecionar mais que uma opção.</p>
<p style="text-align: left;">Para conseguir esse resultado é necessário extender o componente combobox criando um novo componente como mostra o código abaixo:<span id="more-238"></span></p>
<p><strong>Arquivo ComboBoxs.as</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">package br.<span style="color: #006600;">combobox</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">KeyboardEvent</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #006600;">TextLineMetrics</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">controls</span>.<span style="color: #006600;">ComboBox</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">ListEvent</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ComboBoxs  <span style="color: #0066CC;">extends</span> ComboBox
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> ctrlKey:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span>;
		<span style="color: #0066CC;">private</span> const multiplaSelecao:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'Múltipla Seleção'</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> initialized<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">initialized</span> = value;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>value<span style="color: #66cc66;">&#41;</span>
            			resize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override protected <span style="color: #000000; font-weight: bold;">function</span> keyDownHandler<span style="color: #66cc66;">&#40;</span>event:KeyboardEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">keyDownHandler</span><span style="color: #66cc66;">&#40;</span>event<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			ctrlKey = event.<span style="color: #006600;">ctrlKey</span>;
&nbsp;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>ctrlKey<span style="color: #66cc66;">&#41;</span>
				dropdown.<span style="color: #006600;">allowMultipleSelection</span> = <span style="color: #000000; font-weight: bold;">true</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override protected <span style="color: #000000; font-weight: bold;">function</span> keyUpHandler<span style="color: #66cc66;">&#40;</span>event:KeyboardEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">keyUpHandler</span><span style="color: #66cc66;">&#40;</span>event<span style="color: #66cc66;">&#41;</span>;
			ctrlKey = event.<span style="color: #006600;">ctrlKey</span>;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>ctrlKey<span style="color: #66cc66;">&#41;</span> 
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">close</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; 
				<span style="color: #000000; font-weight: bold;">var</span> changeEvent:ListEvent = <span style="color: #000000; font-weight: bold;">new</span> ListEvent<span style="color: #66cc66;">&#40;</span>ListEvent.<span style="color: #006600;">CHANGE</span><span style="color: #66cc66;">&#41;</span>
				dispatchEvent<span style="color: #66cc66;">&#40;</span>changeEvent<span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">close</span><span style="color: #66cc66;">&#40;</span>trigger:Event=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>ctrlKey<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #0066CC;">super</span>.<span style="color: #0066CC;">close</span><span style="color: #66cc66;">&#40;</span>trigger<span style="color: #66cc66;">&#41;</span>;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dropdown.<span style="color: #006600;">selectedItems</span>.<span style="color: #0066CC;">length</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
					textInput.<span style="color: #0066CC;">text</span> = multiplaSelecao;				
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> resize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> lineMetrics:TextLineMetrics;			
 			lineMetrics = measureText<span style="color: #66cc66;">&#40;</span>multiplaSelecao<span style="color: #66cc66;">&#41;</span>;
 			<span style="color: #000000; font-weight: bold;">var</span> newWidth:<span style="color: #0066CC;">Number</span> = lineMetrics.<span style="color: #0066CC;">width</span>;
 			newWidth += <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;arrowButtonWidth&quot;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;paddingLeft&quot;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;paddingRight&quot;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">8</span>;
		    <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">width</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">max</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">width</span>, newWidth<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> selectedItems<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dropdown<span style="color: #66cc66;">&#41;</span>
				dropdown.<span style="color: #006600;">selectedItems</span> = value;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;change&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> selectedItems<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dropdown<span style="color: #66cc66;">&#41;</span>
				<span style="color: #b1b100;">return</span> dropdown.<span style="color: #006600;">selectedItems</span>;
			<span style="color: #b1b100;">else</span>
				<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">null</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> selectedIndices<span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dropdown<span style="color: #66cc66;">&#41;</span>
				dropdown.<span style="color: #006600;">selectedIndices</span> = value;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;change&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> selectedIndices<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dropdown<span style="color: #66cc66;">&#41;</span>
				<span style="color: #b1b100;">return</span> dropdown.<span style="color: #006600;">selectedIndices</span>;
			<span style="color: #b1b100;">else</span>
				<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">null</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>No arquivo MXML.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> xmlns:ns1=<span style="color: #ff0000;">&quot;br.combobox.*&quot;</span> height=<span style="color: #ff0000;">&quot;128&quot;</span> width=<span style="color: #ff0000;">&quot;276&quot;</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #339933;">&lt;mx:Script&gt;</span>
<span style="color: #339933;">	&lt;![CDATA[</span>
&nbsp;
<span style="color: #339933;">		public function retornaSelecao(arTemp:Array,campo:String):String</span>
<span style="color: #339933;">		{</span>
<span style="color: #339933;">			var retorno:String = '';</span>
<span style="color: #339933;">			for(var i:int = 0; i&lt;arTemp.length; i++)</span>
<span style="color: #339933;">			{	</span>
<span style="color: #339933;">				if(retorno != '')</span>
<span style="color: #339933;">					retorno += ',';</span>
<span style="color: #339933;">				retorno += arTemp[i][campo];</span>
<span style="color: #339933;">			}</span>
<span style="color: #339933;">			return retorno;	</span>
<span style="color: #339933;">		}	</span>
&nbsp;
&nbsp;
<span style="color: #339933;">	]]&gt;</span>
<span style="color: #339933;">&lt;/mx:Script&gt;</span>
	<span style="color: #000000;">&lt;ns1:ComboBoxs y=<span style="color: #ff0000;">&quot;10&quot;</span> id=<span style="color: #ff0000;">&quot;cbMultiplo&quot;</span> labelField=<span style="color: #ff0000;">&quot;label&quot;</span> prompt=<span style="color: #ff0000;">&quot;Selecione&quot;</span> change=<span style="color: #ff0000;">&quot;{lbSelecao.text = 'Valor selecionado: ' + retornaSelecao(cbMultiplo.selectedItems,'valor')}&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;ns1:dataProvider<span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> label=<span style="color: #ff0000;">'Valor 1'</span> valor=<span style="color: #ff0000;">'1'</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> label=<span style="color: #ff0000;">'Valor 2'</span> valor=<span style="color: #ff0000;">'2'</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> label=<span style="color: #ff0000;">'Valor 3'</span> valor=<span style="color: #ff0000;">'3'</span><span style="color: #7400FF;">/&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Object</span> label=<span style="color: #ff0000;">'Valor 4'</span> valor=<span style="color: #ff0000;">'4'</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Array</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;/ns1:dataProvider<span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;">&lt;/ns1:ComboBoxs<span style="color: #7400FF;">&gt;</span></span>	
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Label</span> y=<span style="color: #ff0000;">&quot;40&quot;</span> id=<span style="color: #ff0000;">&quot;lbSelecao&quot;</span> width=<span style="color: #ff0000;">&quot;219&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> textAlign=<span style="color: #ff0000;">&quot;center&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></td></tr></table></div>

<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://igormusardo.com.br/2008/10/30/adobe-flex-combobox-de-multipla-de-selecao/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

