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

<channel>
	<title>Igor Musardo &#187; .NET</title>
	<atom:link href="http://www.igormusardo.com.br/category/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.igormusardo.com.br</link>
	<description>Desenvolvedor Pragmático de Adobe Flex, ASP.NET, WPF e SQL Server</description>
	<lastBuildDate>Fri, 30 Jul 2010 10:01:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Microsoft Students to Business (S2B) 2010 Curitiba &#8211; Inscrições abertas</title>
		<link>http://www.igormusardo.com.br/2010/04/08/microsoft-students-to-business-s2b-2010-curitiba-inscricoes-abertas/</link>
		<comments>http://www.igormusardo.com.br/2010/04/08/microsoft-students-to-business-s2b-2010-curitiba-inscricoes-abertas/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:32:14 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Curitiba]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Emprego]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Treinamento]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=917</guid>
		<description><![CDATA[Se você é estudante de ensino médio ou de graduação, não perca a chance de aumentar / ou reciclar seus conhecimentos em .NET  gratuitamente!]]></description>
			<content:encoded><![CDATA[<p><strong><img style="margin: 10px; display: inline; border: 0pt none;" title="Microsoft Students to Business 2010" src="http://igormusardo.com.br/wp-content/uploads/2010/04/s2b_2010_thumb.jpg" border="0" alt="s2b_2010" width="338" height="480" align="left" /> Se você é estudante de ensino médio ou de graduação, não perca a chance de aumentar / ou reciclar seus conhecimentos em </strong><a href="http://igormusardo.com.br/category/net/" target="_blank"><strong>.NET</strong></a><strong> gratuitamente!</strong></p>
<p>As <a href="http://proform.msdnbrasil.com.br/PortalS2B/Inscricao.aspx" target="_blank"><strong>inscrições</strong></a> para o<strong> </strong><a href="http://www.programas2b.com.br/" target="_blank"><strong>Microsoft Students to Business (S2B)</strong></a> em <a href="http://igormusardo.com.br/tag/curitiba/" target="_blank"><strong>Curitiba</strong></a> vão até o dia <strong>19 de abril de 2010</strong>.</p>
<p>O <a href="http://www.programas2b.com.br" target="_blank">Programa</a> tem por objetivo aproximar estudantes de oportunidades de trabalho nas carreiras de Tecnologia de Informação.</p>
<p>Para isso inclui diversas ações, sendo as principais capacitações gratuitas nas plataformas <a href="http://igormusardo.com.br/tag/microsoft/" target="_blank">Microsoft</a> e aproximação com empresas que buscam mão-de-obra com esse perfil.</p>
<p>O programa tem um total de <strong>84 horas/aula</strong> para capacitação de jovens, com um conteúdo que abrange palestras sobre o mercado de trabalho e aulas teóricas e práticas ligadas às carreiras de TI.</p>
<p>As capacitações são voltadas a estudantes do ensino médio e superior e visam preparar as próximas gerações de profissionais nas tecnologias <a href="http://igormusardo.com.br/tag/microsoft/" target="_blank">Microsoft</a>.</p>
<p>Ao longo de 3 fases os estudantes adquirem formação técnica para tornarem-se profissionais júnior desenvolvimento. Na primeira fase o curso traz informações sobre as carreiras de TI, na segunda, aulas teóricas e na terceira, aulas práticas, com o desenvolvimento de um projeto de formatura.</p>
<p>No encerramento são entregues certificados, em um evento que inclui uma <strong>feira de empregos</strong>, uma excelente oportunidade para você que ainda não trabalha ou está querendo trocar de empregador.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/04/08/microsoft-students-to-business-s2b-2010-curitiba-inscricoes-abertas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Road Show: Copa Microsoft de Talentos &#8211; Curitiba</title>
		<link>http://www.igormusardo.com.br/2010/03/18/road-show-copa-microsoft-de-talentos-curitiba/</link>
		<comments>http://www.igormusardo.com.br/2010/03/18/road-show-copa-microsoft-de-talentos-curitiba/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 12:28:31 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Curitiba]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[TechEd]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=909</guid>
		<description><![CDATA[O Road Show é um evento presencial diferenciado e parte integrante da campanha Copa de Talentos da Microsoft Brasil. Todas as sessões são focadas em demonstrações e explicações feitas ao vivo, utilizando um ambiente de demonstração com os últimos lançamentos da Microsoft. Há apenas uma breve introdução teórica, para entendimento do cenário e depois, o [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><img class="size-full wp-image-910" title="Copa Microsoft de Talentos" src="http://igormusardo.com.br/wp-content/uploads/2010/03/copa_ms_talentos.png" alt="Copa Microsoft de Talentos" width="299" height="178" /></div>
<p>O  Road Show é um evento presencial diferenciado e parte integrante da campanha <strong><a href="http://www.talentosmicrosoft.com.br/" target="_blank">Copa de Talentos da Microsoft Brasil</a></strong>.</p>
<p>Todas as sessões são focadas em demonstrações e explicações feitas ao vivo, utilizando um ambiente de demonstração com os últimos lançamentos da Microsoft.</p>
<p>Há apenas uma breve introdução teórica, para entendimento do cenário e depois, o time de Especialistas da Microsoft apresentam ao vivo, na prática, toda a solução sendo implementada passo a passo.</p>
<p>Neste evento será apresentado um caso fictício de uma empresa que possui vários desafios de TI (desenvolvimento de software e infraestrutura de TI), e como os novos produtos e tecnologias da Microsoft podem torna-la mais competitiva, com gerenciamento, segurança, escalabilidade e performance.</p>
<p>Serão abordados novos produtos como Windows Server 2008 R2, Windows 7, Exchange 2010, Visual Studio 2010, SQL Server 2008 R2, Office 2010, Sharepoint 2010, System Center, Forefront, Silverlight, etc.</p>
<p>Você aprenderá como virtualizar seu ambiente, criar ambientes de testes de desenvolvimento, utilizar da melhor forma as soluções de comunicação unificadas, tornar suas aplicações mais ricas além de muitas outras capacidades.</p>
<p>Ao termino do evento você aprenderá como tirar melhor proveito de tais tecnologias, tornando-se um diferencial competitivo.</p>
<p>O Road Show será tanto para desenvolvedores quanto para infra-estrutura.</p>
<p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032445827&amp;culture=pt-BR" target="_blank">Inscrição</a> para <strong>Desenvolvedores</strong></p>
<p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032445650&amp;culture=pt-BR" target="_blank">Inscrição</a> para <strong>Infra-Estrutura</strong></p>
<p>Nos encontramos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/03/18/road-show-copa-microsoft-de-talentos-curitiba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12º Encontro Locaweb em Curitiba</title>
		<link>http://www.igormusardo.com.br/2010/03/17/12%c2%ba-encontro-locaweb-em-curitiba/</link>
		<comments>http://www.igormusardo.com.br/2010/03/17/12%c2%ba-encontro-locaweb-em-curitiba/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 23:38:35 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento Ágil]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Liderança]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[Curitiba]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[Qualidade de Software]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=903</guid>
		<description><![CDATA[Aproveite! Pois não é sempre que temos eventos bacanas em Curitiba! Por isso, não perca a chance de fazer network e netweaving no encontro da Locaweb, eu particularmente já vou a 3 anos seguidos, e sempre é muito bacana o evento em geral, e as palestras sempre agregam conhecimento e despertam novas idéias! Data: 06/05/2010 [...]]]></description>
			<content:encoded><![CDATA[<p>Aproveite! Pois não é sempre que temos eventos bacanas em Curitiba! Por isso, não perca a chance de fazer network e netweaving no encontro da Locaweb, eu particularmente já vou a 3 anos seguidos, e sempre é muito bacana o evento em geral, e as palestras sempre agregam conhecimento e despertam novas idéias!</p>
<p><strong>Data: </strong>06/05/2010 (Quinta-feira)     <br /><strong>Horário: </strong>08h00min às 17h30min     <br /><strong>Local:</strong> Estação Embratel Convention Center (Rua Sete de Setembro, 2775)</p>
<p><strong>Inscrições: <font color="#ff0000">R$ 50,00 </font></strong><a href="https://www.locaweb.com.br/encontro/inscricao.html" target="_blank">Clique aqui</a><strong> e faça a sua inscrição.</strong></p>
<p>&nbsp;</p>
<div align="center"></div>
<div align="center"><iframe height="350" marginheight="0" src="http://maps.google.com/maps?q=Esta%C3%A7%C3%A3o+Embratel+Convention+Center,+Av.+Sete+de+Setembro,+2775,+curitiba&amp;hl=en&amp;cd=1&amp;ei=lmpsS_TqH4bKM9LSnPIE&amp;sig2=af52TEumUfRkUuXdn6ZfwA&amp;sll=-25.425939,-49.275222&amp;sspn=0.048058,0.029849&amp;ie=UTF8&amp;view=map&amp;cid=16851190325641450383&amp;ved=0CB0QpQY&amp;hq=Esta%C3%A7%C3%A3o+Embratel+Convention+Center,+Av.+Sete+de+Setembro,+2775,+curitiba&amp;hnear=&amp;ll=-25.435621,-49.26733&amp;spn=0.006782,0.00912&amp;z=16&amp;iwloc=A&amp;output=embed" frameborder="0" width="425" marginwidth="0" scrolling="no"></iframe>    <br /><small><a style="text-align: left; color: #0000ff" href="http://maps.google.com/maps?q=Esta%C3%A7%C3%A3o+Embratel+Convention+Center,+Av.+Sete+de+Setembro,+2775,+curitiba&amp;hl=en&amp;cd=1&amp;ei=lmpsS_TqH4bKM9LSnPIE&amp;sig2=af52TEumUfRkUuXdn6ZfwA&amp;sll=-25.425939,-49.275222&amp;sspn=0.048058,0.029849&amp;ie=UTF8&amp;view=map&amp;cid=16851190325641450383&amp;ved=0CB0QpQY&amp;hq=Esta%C3%A7%C3%A3o+Embratel+Convention+Center,+Av.+Sete+de+Setembro,+2775,+curitiba&amp;hnear=&amp;ll=-25.435621,-49.26733&amp;spn=0.006782,0.00912&amp;z=16&amp;iwloc=A&amp;source=embed">View Larger Map</a></small></div>
<p> <center><br />
<table border="0" cellspacing="0" cellpadding="2" width="531">
<tbody>
<tr>
<td valign="top" width="41">
<p align="center">08:00</p>
</td>
<td valign="top" width="488">
<p align="left">Credenciamento              <br />Leve seu RG</p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">09:00</p>
</td>
<td valign="top" width="488">
<p align="left">P<strike></strike>alestra:Tendências do Mercado de Internet               <br /><strong>Gilberto Mautner</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">10:00</p>
</td>
<td valign="top" width="488">
<p align="left">Coffee Break I &#8211; Networking              <br />Aproveite também para fazer contatos.</p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">10:30</p>
</td>
<td valign="top" width="488">
<p align="left">Palestra: Desmembrando Pessoas &#8211; Pensamentos Aleatórios sobre Gestão               <br />Palestrante: <strong>Fábio Akita</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">11:30</p>
</td>
<td valign="top" width="488">
<p align="left">Palestra: O futuro chegou, Vagas Abertas               <br />Palestrante: <strong>Executivos Microsoft</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">12:30</p>
</td>
<td valign="top" width="488">
<p align="left">Almoço</p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">14:00</p>
</td>
<td valign="top" width="488">
<p align="left">Palestra: Startup &#8211; De empregado a empregador               <br />Palestrante: <strong>Vinícius Teles</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">15:00</p>
</td>
<td valign="top" width="488">
<p align="left">Palestra: Painel Cyber Punk               <br />Palestrante: <strong>Gil Giardelli</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">16:00</p>
</td>
<td valign="top" width="488">
<p align="left">Coffee Break II &#8211; Networking              <br />Aproveite também para fazer contatos.</p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">16:30</p>
</td>
<td valign="top" width="488">
<p align="left">Palestra: A nova escala de Inovação               <br />Palestrante: <strong>Luli Radfaher</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="41">
<p align="center">17:30</p>
</td>
<td valign="top" width="488">
<p align="left">Encerramento &#8211; Sorteios</p>
</td>
</tr>
</tbody>
</table>
<p> </center>
<p>&#160;</p>
<p>Nos encontramos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/03/17/12%c2%ba-encontro-locaweb-em-curitiba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Innovation Day Curitiba 2010</title>
		<link>http://www.igormusardo.com.br/2010/03/13/microsoft-innovation-day-curitiba-2010/</link>
		<comments>http://www.igormusardo.com.br/2010/03/13/microsoft-innovation-day-curitiba-2010/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 14:26:28 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Curitiba]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Palestra]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=898</guid>
		<description><![CDATA[Microsoft Innovation Day Curitiba 2010

Data: 27/03/2010 (Sábado)
Horário: 09h00min às 16h50min
Local: Auditório do Centro Tecnológico da Universidade Positivo (Rua Alf. Ângelo Sampaio,2300)

Inscrições: Clique aqui e faça a sua inscrição. Vagas limitadas!
Entrada: Uma lata de leite em pó.]]></description>
			<content:encoded><![CDATA[<p><a href="http://igormusardo.com.br/wp-content/uploads/2010/03/InnovationDay.jpg"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border-width: 0px;" title="InnovationDay" src="http://igormusardo.com.br/wp-content/uploads/2010/03/InnovationDay_thumb.jpg" border="0" alt="InnovationDay" width="532" height="247" /></a></p>
<p>Fique por dentro das novas tecnologias da <a href="http://www.microsoft.com" target="_blank">Microsoft</a> em um evento presencial na cidade <a href="http://www.curitiba.pr.gov.br" target="_blank">Curitiba</a> realizado pelo <a href="http://www.centrodeinovacao.org.br" target="_blank">Centro de Inovação da Microsoft</a>.</p>
<p><strong>Data: </strong>27/03/2010 (Sábado)<br />
<strong>Horário: </strong>09h00min às 16h50min<br />
<strong>Local:</strong> Auditório do <a href="http://www.centrotecnologicoup.com.br/" target="_blank">Centro Tecnológico da Universidade Positivo</a> (Rua Alf. Ângelo Sampaio,2300)</p>
<p><strong>Inscrições: </strong><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032445392&amp;Culture=pt-BR" target="_blank">Clique aqui</a><strong> e faça a sua inscrição. Vagas limitadas!<br />
Entrada: <span style="color: #ff0000;"><em>Uma lata de leite em pó</em></span></strong>.</p>
<div align="center">
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=alferes+angelo+sampaio,+2300,+curitiba+brasil&amp;sll=37.0625,-95.677068&amp;sspn=32.252269,79.013672&amp;ie=UTF8&amp;hq=&amp;hnear=R.+Alf.+%C3%82ngelo+Sampaio,+2300+-+Bigorrilho,+Curitiba+-+Paran%C3%A1,+80730-460,+Brasil&amp;ll=-25.425524,-49.284754&amp;spn=0.008972,0.01929&amp;z=14&amp;output=embed"></iframe><br /><small><a href="http://www.google.com/maps?f=q&amp;source=embed&amp;hl=pt-BR&amp;geocode=&amp;q=alferes+angelo+sampaio,+2300,+curitiba+brasil&amp;sll=37.0625,-95.677068&amp;sspn=32.252269,79.013672&amp;ie=UTF8&amp;hq=&amp;hnear=R.+Alf.+%C3%82ngelo+Sampaio,+2300+-+Bigorrilho,+Curitiba+-+Paran%C3%A1,+80730-460,+Brasil&amp;ll=-25.425524,-49.284754&amp;spn=0.008972,0.01929&amp;z=14" style="color:#0000FF;text-align:left">Exibir mapa ampliado</a></small></div>
<p><strong>Confira a programação</strong></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="56" valign="top">09:00h</td>
<td width="509" valign="top">Welcome Coffee</td>
</tr>
<tr>
<td width="56" valign="top">09:30h</td>
<td width="509" valign="top">Abertura: <strong>Apresentação de parceiros</strong></td>
</tr>
<tr>
<td width="56" valign="top">09:50h</td>
<td width="509" valign="top">Palestra:  <strong>Windows Azure e a plataforma Cloud Computing</strong></p>
<p>Palestrante: Waldermir Cambiucci, Microsoft Brasil.</td>
</tr>
<tr>
<td width="56" valign="top">10:40h</td>
<td width="509" valign="top">Palestra:  <strong>Obtendo sua certificação Microsoft </strong></p>
<p>Palestrante: Thiago Henrique Zen, MIC Curitiba.</td>
</tr>
<tr>
<td width="56" valign="top">10:50h</td>
<td width="509" valign="top">Palestra: <strong>Microsoft Smooth HD.</strong></td>
</tr>
<tr>
<td width="56" valign="top"></td>
<td width="509" valign="top">Palestrante: Márcio Gomes, (MCPD/MCT), TechResult</td>
</tr>
<tr>
<td width="56" valign="top">11:40h</td>
<td width="509" valign="top">Palestra: <strong>Segurança da Informação com ferramentas Microsoft</strong></p>
<p>Palestrante: Herbert Moroni, 4sec Brasil.</td>
</tr>
<tr>
<td width="56" valign="top">12:30h</td>
<td width="509" valign="top">Intervalo</td>
</tr>
<tr>
<td width="56" valign="top">14:00h</td>
<td width="509" valign="top">Palestra: <strong>Novidades da .NET Framework 4.0</strong></p>
<p>Palestrante: Diego Rodrigo Neufert (MVP), ALL-América Latina Logística.</td>
</tr>
<tr>
<td width="56" valign="top">14:50h</td>
<td width="509" valign="top">Palestra: <strong>Linguagens Dinâmicas</strong></p>
<p>Palestrante: Marcelo D’Ávila de Pauli (MVP), TechResult.</td>
</tr>
<tr>
<td width="56" valign="top">15:40h</td>
<td width="509" valign="top">Palestra: <strong>Ferramentas de Arquitetura e Desenvolvimento com Visual Studio 2010 Ultimate.</strong></p>
<p>Palestrante: Daniel Oliveira (MVP), TechResult.</td>
</tr>
<tr>
<td width="56" valign="top">16:30h</td>
<td width="509" valign="top">Encerramento: Sorteio de Brindes</td>
</tr>
</tbody>
</table>
<p>Eu já fiz a minha inscrição! Nos encontramos lá!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/03/13/microsoft-innovation-day-curitiba-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download p&#250;blico do Visual Studio 2010 RC</title>
		<link>http://www.igormusardo.com.br/2010/02/10/download-pblico-do-visual-studio-2010-rc/</link>
		<comments>http://www.igormusardo.com.br/2010/02/10/download-pblico-do-visual-studio-2010-rc/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 01:31:27 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=885</guid>
		<description><![CDATA[Está disponível para que qualquer mero mortal faça o download do Visual Studio 2010 e .NET Framework 4.0 Release Candidate. Visual Studio 2010 Ultimate; Visual Studio 2010 Premium; Visual Studio 2010 Professional; Visual Studio 2010 Remote Debugger; Visual Studio 2010 F# 2.0 Runtime; Todas as instalações estão no formato ISO. Se tiver alguma dúvida como [...]]]></description>
			<content:encoded><![CDATA[<p>Está disponível para que qualquer mero mortal faça o download do <a href="http://igormusardo.com.br/tag/visual-studio/" target="_blank">Visual Studio 2010</a> e <a href="http://igormusardo.com.br/tag/net/" target="_blank">.NET Framework 4.0</a> Release Candidate.</p>
<ul>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=183179" target="_blank">Visual Studio 2010 Ultimate</a>;</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=183178" target="_blank">Visual Studio 2010 Premium</a>;</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=183177" target="_blank">Visual Studio 2010 Professional</a>;</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=183191" target="_blank">Visual Studio 2010 Remote Debugger</a>;</li>
<li><a href="http://go.microsoft.com/fwlink/?LinkID=183192" target="_blank">Visual Studio 2010 F# 2.0 Runtime</a>;</li>
</ul>
<p>Todas as instalações estão no formato ISO. Se tiver alguma dúvida como instalar o Visual Studio a partir de uma ISO, acesse esse <a href="http://blogs.msdn.com/charles_sterling/archive/2010/02/08/downloading-visual-studio-2010-and-getting-started-with-isos.aspx" target="_blank">post o blog do <strong>Charles Sterling</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/02/10/download-pblico-do-visual-studio-2010-rc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 e .NET Framework 4 Release Candidate</title>
		<link>http://www.igormusardo.com.br/2010/02/08/visual-studio-2010-e-net-framework-4-release-candidate/</link>
		<comments>http://www.igormusardo.com.br/2010/02/08/visual-studio-2010-e-net-framework-4-release-candidate/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 02:03:47 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=878</guid>
		<description><![CDATA[Hoje foi um dia bem agitado, além da liberação do novo release candidate do ASP.NET MVC 2, a Microsoft liberou também a versão RC do Visual Studio 2010 e do .NET Framework 4 para assinantes MSDN. Saiba como remover as versões do Visual Studio .NET Beta e Release Candidate em: http://support.microsoft.com/kb/312383/pt]]></description>
			<content:encoded><![CDATA[<p>Hoje foi um dia bem agitado, além da liberação do <a href="http://igormusardo.com.br/2010/02/08/asp-net-mvc-2-release-candidate-2/" target="_blank">novo release candidate do ASP.NET MVC 2</a>, a <a href="http://igormusardo.com.br/tag/microsoft/" target="_blank">Microsoft</a> <a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" target="_blank">liberou</a> também a versão RC do <a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" target="_blank">Visual Studio 2010 e do .NET Framework 4 para assinantes MSDN</a>.</p>
<p>Saiba como remover as versões do Visual Studio .NET Beta e Release Candidate em: <a href="http://support.microsoft.com/kb/312383/pt" target="_blank">http://support.microsoft.com/kb/312383/pt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/02/08/visual-studio-2010-e-net-framework-4-release-candidate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC 2 Release Candidate 2</title>
		<link>http://www.igormusardo.com.br/2010/02/08/asp-net-mvc-2-release-candidate-2/</link>
		<comments>http://www.igormusardo.com.br/2010/02/08/asp-net-mvc-2-release-candidate-2/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 01:52:09 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://igormusardo.com.br/?p=873</guid>
		<description><![CDATA[Exatamente dois meses após a liberação da primeira versão de Release Candidate, a Microsoft liberou hoje a segunda versão de RC e está diponível para download. A partir de agora somente bug das classes serão tratadas para o ASP.NET MVC 2, todo e qualquer bug report será tratado no ASP.NET MVC 3.]]></description>
			<content:encoded><![CDATA[<p>Exatamente dois meses após a liberação da <a href="http://igormusardo.com.br/2009/12/17/asp-net-mvc-2-release-candidate/" target="_blank">primeira versão de Release Candidate</a>, a <a href="http://igormusardo.com.br/tag/microsoft/" target="_blank">Microsoft</a> liberou hoje a segunda versão de RC e está diponível para <a href="http://go.microsoft.com/fwlink/?LinkID=182483" target="_blank">download</a>.</p>
<p>A partir de agora somente bug das classes serão tratadas para o <strong>ASP.NET MVC 2</strong>, todo e qualquer bug report será tratado no ASP.NET MVC 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/02/08/asp-net-mvc-2-release-candidate-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Entity Framework Error: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.</title>
		<link>http://www.igormusardo.com.br/2010/01/11/entity-framework-error-the-specified-named-connection-is-either-not-found-in-the-configuration-not-intended-to-be-used-with-the-entityclient-provider-or-not-valid/</link>
		<comments>http://www.igormusardo.com.br/2010/01/11/entity-framework-error-the-specified-named-connection-is-either-not-found-in-the-configuration-not-intended-to-be-used-with-the-entityclient-provider-or-not-valid/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 08:40:51 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Dica]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=838</guid>
		<description><![CDATA[Saiba como resolver o erro: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid. No Visual Studio 2008 quando você utiliza Entity Framework em uma Class Library.]]></description>
			<content:encoded><![CDATA[<p>Criei uma nova <strong>Solução</strong> no <a href="http://msdn.microsoft.com/pt-br/vstudio/products/default.aspx" target="_blank"><strong>Visual Studio 2008</strong></a> e criei dois projetos nesta solução: <strong>Class Library</strong> e <strong>Website</strong>.</p>
<p>Na <strong>Class Library</strong> criei um arquivo <a href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx" target="_blank"><strong>ADO.NET Entity Data Model</strong></a>, onde fiz o mapeamento das tabelas do banco de dados.</p>
<p>Configurei o <strong>Website</strong> para utilizar o modelo do <a href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx" target="_blank"><strong>Entity Framework</strong></a> da <strong>Class Library</strong> e ao executar o projeto estourou o erro abaixo:</p>
<blockquote><p><strong><span style="color: #ff0000; font-size: medium;">The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.</span></strong></p></blockquote>
<p>Após pesquisar <a href="http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/f5904b4d-b2f8-421e-90de-339f93959533/" target="_blank">encontrei a solução</a>:</p>
<p>Copie a <strong>string de conexão</strong> do <strong>app.config</strong> da <strong>Class Library</strong> para o <strong>Web.Config</strong> do <strong>Website</strong> que o <a title=".NET Framework" href="http://msdn.microsoft.com/pt-br/netframework/default.aspx" target="_blank">.NET Framework</a> passará a encontrar a conexão com o banco de dados.</p>
<p>Divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2010/01/11/entity-framework-error-the-specified-named-connection-is-either-not-found-in-the-configuration-not-intended-to-be-used-with-the-entityclient-provider-or-not-valid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC 2 Release Candidate</title>
		<link>http://www.igormusardo.com.br/2009/12/17/asp-net-mvc-2-release-candidate/</link>
		<comments>http://www.igormusardo.com.br/2009/12/17/asp-net-mvc-2-release-candidate/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 21:13:15 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=823</guid>
		<description><![CDATA[Faça o download da versão Release Candidate do ASP.NET MVC 2.]]></description>
			<content:encoded><![CDATA[<p><a href="http://haacked.com/articles/AboutHaacked.aspx" target="_blank">Phil Haack</a> <a href="http://haacked.com/archive/2009/12/16/aspnetmvc-2-rc.aspx" target="_blank">postou</a> hoje sobre a liberação do <a href="http://go.microsoft.com/fwlink/?LinkID=157071" target="_blank">Release Candidate da versão 2 do ASP.NET MVC</a>.</p>
<p>Entre os destaques deste RC estão:</p>
<ul>
<li>Correções de Bug’s;</li>
<li>Foco total em otimização e performance;</li>
<li>Scripts de validação no cliente, que agora suporta globalização;</li>
<li>Alterações na ValidationSummary.</li>
</ul>
<p>Lista completa de alterações você encontra <a href="http://go.microsoft.com/fwlink/?LinkID=157072" target="_blank">aqui</a>.</p>
<p>A versão RTM está prevista para Março de 2010, até lá <a href="http://go.microsoft.com/fwlink/?LinkID=157071" target="_blank">baixe</a> o RC e continue seus estudos da Versão 2 do ASP.NET MVC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2009/12/17/asp-net-mvc-2-release-candidate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Innovation Day Curitiba/PR &#8211; 04/julho</title>
		<link>http://www.igormusardo.com.br/2009/07/02/innovation-day-curitibapr-04julho/</link>
		<comments>http://www.igormusardo.com.br/2009/07/02/innovation-day-curitibapr-04julho/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 03:55:00 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Curitiba]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=748</guid>
		<description><![CDATA[O Centro de Inovação Microsoft de Curitiba, através de sua iniciativa de desenvolvimento da economia local de software, tem o prazer de convidá-lo para o Innovation Day em Curitiba/PR, um evento técnico sobre as mais novas tecnologias Microsoft e informações sobre o mercado de TI.]]></description>
			<content:encoded><![CDATA[<p align="center"><strong><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="innovationdayctba" src="http://www.igormusardo.com.br/wp-content/uploads/2009/07/innovationdayctba_thumb.jpg" border="0" alt="innovationdayctba" width="477" height="232" /> </strong></p>
<p><strong>É tempo de inovar com seu currículo!!!</strong></p>
<p align="justify">O <a href="http://www.centrodeinovacao.org.br/" target="_blank">Centro de Inovação Microsoft de Curitiba</a><strong> </strong>, através de sua iniciativa de desenvolvimento da economia local de software, tem o prazer de convidá-lo para o <strong>Innovation Day</strong>, um evento técnico sobre as mais novas tecnologias <strong><a href="http://www.microsoft.com.br" target="_blank">Microsoft</a></strong> e informações sobre o mercado de TI.</p>
<p><span id="more-748"></span><strong>Data:</strong> 04/07 (Sábado)<br />
<strong>Horário:</strong> 10h00min às 17h30min<br />
<strong>Local:</strong> Centro Tecnológico da Universidade Positivo<br />
Rua Alf. Ângelo Sampaio,2300 – Auditório</p>
<p><strong>Programação</strong></p>
<table border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top">10:00h</td>
<td>Abertura</td>
</tr>
<tr>
<td valign="top">10:10h</td>
<td>Palestra: Gerenciamento do Ciclo de Vida de Aplicações com Visual Studio 2010.<br />
Palestrante: <strong>Daniel Oliveira</strong> (MVP), Supervisor de Qualidade da TechResult</td>
</tr>
<tr>
<td valign="top">11:00h</td>
<td>Palestra:  Apresentação do Centro de Inovação Microsoft Curitiba<br />
Palestrante: <strong>Thiago Henrique Zen</strong>, Coordenador Administrativo do MIC Curitiba</td>
</tr>
<tr>
<td valign="top">11:15h</td>
<td>Palestra: Apresentação do Microsoft Partner Program<br />
Palestrante: <strong>Galileu Vieira</strong>, Gerente de novas tecnologias da Microsoft</td>
</tr>
<tr>
<td valign="top">11:50h</td>
<td>Intervalo</td>
</tr>
<tr>
<td valign="top">12:10h</td>
<td>Palestra: “Virtual Earth + Silverlight + SQL Server 2008 – Uma combinação Poderosa”.<br />
Palestrantes: <strong>Márcio Gomes</strong> (MCPD/MCT), Supervisor de Desenvolvimento<br />
e <strong>Thiago Zavaschi</strong> (MCPD/MCT), Desenvolvedor da TechResult</td>
</tr>
<tr>
<td valign="top">13:00h</td>
<td>Intervalo</td>
</tr>
<tr>
<td valign="top">14:30h</td>
<td>Palestra: Linguagens Dinâmicas e o Browser<br />
Palestrante: <strong>Marcelo D’Ávila de Pauli</strong> (MVP), Diretor Executivo da TechResult</td>
</tr>
<tr>
<td valign="top">15:20h</td>
<td>Palestra: SMS Machine-To-Machine, XPEmbededd em Micro-Terminais,<br />
Monitorando Performance no WinCe/Mobile<br />
Palestrante: <strong>Claudenir C. Andrade</strong> (MVP), Gerente de Integração e Desenvolvimento<br />
da Daruma</td>
</tr>
<tr>
<td valign="top">16:10h</td>
<td>Intervalo</td>
</tr>
<tr>
<td valign="top">16:30h</td>
<td>Palestra: Novidades da .NET Framework 4.0<br />
Palestrante: <strong>Diego Rodrigo Neufert</strong> (MVP), Coordenador de Sistemas Operacionais da<br />
ALL &#8211; América Latina Logística</td>
</tr>
<tr>
<td valign="top">17:20h</td>
<td>Encerramento: Sorteio de Brindes</td>
</tr>
</tbody>
</table>
<p>O Evento será <strong><span style="text-decoration: underline;">gratuito</span></strong> para todo o público. Não perca essa oportunidade!</p>
<p>Confirme sua presença até o dia 03/07 pelo telefone (41) 3335-7612, com Cláudia, ou pelo e-mail <a href="mailto:mic@techresult.com.br">mic@techresult.com.br</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2009/07/02/innovation-day-curitibapr-04julho/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capacitação em desenvolvimento de software e infra-estrutura gratuita em Curitiba</title>
		<link>http://www.igormusardo.com.br/2009/03/26/capacitao-em-desenvolvimento-de-software-e-infra-estrutura-gratuita-em-curitiba/</link>
		<comments>http://www.igormusardo.com.br/2009/03/26/capacitao-em-desenvolvimento-de-software-e-infra-estrutura-gratuita-em-curitiba/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 11:05:01 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/2009/03/26/capacitao-em-desenvolvimento-de-software-e-infra-estrutura-gratuita-em-curitiba/</guid>
		<description><![CDATA[O Programa Microsoft Students to Business (S2B) tem por objetivo aproximar estudantes de oportunidades de trabalho nas carreiras de Tecnologia de Informação.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.igormusardo.com.br/wp-content/uploads/2009/03/student2business1.jpg" target="_blank"><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="student2business" src="http://www.igormusardo.com.br/wp-content/uploads/2009/03/student2business1.jpg" border="0" alt="student2business" width="274" height="386" align="left" /></a> O <strong><a href="http://www.programas2b.com.br" target="_blank">Programa Microsoft Students to Business (S2B)</a></strong> tem por objetivo aproximar estudantes de oportunidades de trabalho nas carreiras de <a href="http://pt.wikipedia.org/wiki/Tecnologia_da_informação" target="_blank">Tecnologia de Informação</a>.</p>
<p>Para isso inclui diversas ações, sendo as principais <strong>capacitações gratuitas</strong> nas plataformas <a href="http://www.microsoft.com.br" target="_blank">Microsoft</a> e aproximação com empresas que buscam mão-de-obra com esse perfil. O programa tem um total de 84 horas/aula para capacitação de jovens, com um conteúdo que abrange palestras sobre o mercado de trabalho e aulas teóricas e práticas ligadas às carreiras de <a href="http://pt.wikipedia.org/wiki/Tecnologia_da_informação" target="_blank">TI</a>.</p>
<p>As capacitações são voltadas a estudantes do ensino médio e superior e visam preparar as próximas gerações de profissionais nas tecnologias Microsoft.</p>
<p>Ao longo de 3 fases os estudantes adquirem formação técnica para tornarem-se profissionais júnior de infra-estrutura ou desenvolvimento. Na primeira fase o curso traz informações sobre as carreiras de TI, na segunda, aulas teóricas e na terceira, aulas práticas, com o desenvolvimento de um projeto de formatura. No encerramento são entregues certificados, em um evento que inclui uma feira de empregos.</p>
<p>As inscrições estão abertas até o dia 02 de abril de 2009 e podem ser realizadas no endereço: <a href="http://www.programas2b.com.br" target="_blank">http://www.programas2b.com.br</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2009/03/26/capacitao-em-desenvolvimento-de-software-e-infra-estrutura-gratuita-em-curitiba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC 1.0 Liberado para Download</title>
		<link>http://www.igormusardo.com.br/2009/03/18/aspnet-mvc-10-liberado-para-download/</link>
		<comments>http://www.igormusardo.com.br/2009/03/18/aspnet-mvc-10-liberado-para-download/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 12:56:42 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/2009/03/18/aspnet-mvc-10-liberado-para-download/</guid>
		<description><![CDATA[Depois de um longo período de betas a Microsoft liberou hoje o ASP.NET MVC 1.0 para ser instalado no Visual Studio 2008. Com o MVC (Model-View-Controller) os desenvolvedores contam com mais um padrão para o desenvolvimento das aplicações baseadas no ASP.NET, alem do já conhecido WebForms. Com a implementação desse padrão de projeto os desenvolvedores podem agora criar sistemas ultra leves com ampla separação de código de tela e regras de negócio.]]></description>
			<content:encoded><![CDATA[<p>Depois de um longo período de betas a <a href="http://www.microsoft.com.br" target="_blank">Microsoft</a> liberou hoje o <a href="http://www.asp.net/mvc" target="_blank">ASP.NET MVC 1.0</a> para ser instalado no <a href="http://www.microsoft.com/visualstudio" target="_blank">Visual Studio 2008</a>. Com o <a href="http://pt.wikipedia.org/wiki/MVC" target="_blank">MVC (Model-View-Controller)</a> os desenvolvedores contam com mais um padrão para o desenvolvimento das aplicações baseadas no <a href="http://www.asp.net" target="_blank">ASP.NET</a>, alem do já conhecido WebForms. Com a implementação desse padrão de projeto os desenvolvedores podem agora criar sistemas ultra leves com ampla separação de código de tela e regras de negócio.</p>
<p><strong>O <a href="http://www.asp.net/mvc" target="_blank">ASP.NET MVC</a> vai acabar com o ASP.NET WebForms ?</strong><br />
Não, cada caso deve ser avaliado separadamente e os dois continuaram convivendo e agora será mais fácil atender um maior número de cenários.</p>
<p>Site oficial:<br />
<a href="http://www.asp.net/mvc" target="_blank">http://www.asp.net/mvc</a><br />
Download:<br />
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;displaylang=en#filelist" target="_blank">ASP.NET MVC 1.0</a></p>
<p>Fonte: <a href="http://www.ramonduraes.net/post/ASPNET-MVC-10-para-Visual-Studio-2008.aspx" target="_blank">Ramon Durães</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2009/03/18/aspnet-mvc-10-liberado-para-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upload utilizando Adobe Flex e ASP.NET</title>
		<link>http://www.igormusardo.com.br/2009/02/20/fazer-upload-utilizando-adobe-flex-e-aspnet/</link>
		<comments>http://www.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[<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: #FF0000;">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;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Web</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Web.Configuration</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> uploadFile <span style="color: #008000;">:</span> IHttpHandler
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> ProcessRequest<span style="color: #000000;">&#40;</span>HttpContext _context<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #FF0000;">string</span> uploadDir <span style="color: #008000;">=</span> HttpContext.<span style="color: #0000FF;">Current</span>.<span style="color: #0000FF;">Server</span>.<span style="color: #0000FF;">MapPath</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;~/upload/&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>_context.<span style="color: #0000FF;">Request</span>.<span style="color: #0000FF;">Files</span>.<span style="color: #0000FF;">Count</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            _context.<span style="color: #0000FF;">Response</span>.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#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: #000000;">&#41;</span><span style="color: #008000;">;</span>
            return<span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> fileKey <span style="color: #0600FF;">in</span> _context.<span style="color: #0000FF;">Request</span>.<span style="color: #0000FF;">Files</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            HttpPostedFile file <span style="color: #008000;">=</span> _context.<span style="color: #0000FF;">Request</span>.<span style="color: #0000FF;">Files</span><span style="color: #000000;">&#91;</span>fileKey<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
            file.<span style="color: #0000FF;">SaveAs</span><span style="color: #000000;">&#40;</span>Path.<span style="color: #0000FF;">Combine</span><span style="color: #000000;">&#40;</span>uploadDir, file.<span style="color: #0000FF;">FileName</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        _context.<span style="color: #0000FF;">Response</span>.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#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: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #000000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">bool</span> IsReusable
    <span style="color: #000000;">&#123;</span>
        get <span style="color: #000000;">&#123;</span> <span style="color: #0600FF;">return</span> true<span style="color: #008000;">;</span> <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#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://www.igormusardo.com.br/2009/02/20/fazer-upload-utilizando-adobe-flex-e-aspnet/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Construindo aplicações ricas de internet com Adobe Flex 3 e ASP.NET</title>
		<link>http://www.igormusardo.com.br/2009/01/26/construindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet/</link>
		<comments>http://www.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[<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://www.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>Microsoft MSDN/TechNet Experience</title>
		<link>http://www.igormusardo.com.br/2009/01/05/microsoft-msdntechnet-experience/</link>
		<comments>http://www.igormusardo.com.br/2009/01/05/microsoft-msdntechnet-experience/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 21:35:13 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Desenvolvedor]]></category>
		<category><![CDATA[Desenvolvimento de Software]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSDN]]></category>
		<category><![CDATA[Treinamento]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=447</guid>
		<description><![CDATA[Conheça todos os cursos gratuitos oferecidos pela Microsoft através do MSDN e TechNet Experience.]]></description>
			<content:encoded><![CDATA[<p>No último post <a href="http://www.igormusardo.com.br/about/" target="_blank">eu</a> sugirí dois cursos gratuitos da série Experience da <a href="http://www.microsoft.com.br" target="_blank">Microsoft</a>. Neste post, vou complementar com os links para todos os cursos disponíveis no site da <a href="http://msdn.microsoft.com/pt-br/default.aspx" target="_blank">MSDN</a> e do <a href="http://technet.microsoft.com/pt-br/default.aspx" target="_blank">TechNet</a>.</p>
<p>Vou começar com os cursos voltados para a área de suporte e infra-estrutura (<a href="http://technet.microsoft.com/pt-br/default.aspx" target="_blank">TechNet</a>)</p>
<ul>
<li><strong><a href="https://www.technetbrasil.com.br/experience/iw" target="_blank">Colaboração e Produtividade</a></strong><br />
No Experience de Colaboração e Produtividade Você terá uma visão geral de Infraestrutura, Gerenciamento de conteúdos e portais, soluções usando a ferramenta de busca, comunicação unificada, ferramenta para administração do Exchange 2007 por linha de comando e muito mais;</li>
<li><a href="https://www.technetbrasil.com.br/experience/windowsvista/Home.aspx" target="_blank"><strong>Windows Vista</strong></a><br />
Aprenda tudo sobre o Windows Vista SP1 , suporte e sobre a instalação de Windows Vista nas estações (BDD) e tenha uma visão geral sobre as ferramentas do pacote de otimização: Softgrid, Advanced Group Policy Management, Desktop Error Monitor, Diagnostic and Recovery Tools e Asset Inventory Services. (MDOP);</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/sqlbi/Home.aspx" target="_blank">SQL/BI</a></strong><br />
No Experience SQL/BI você poderá obter habilidades em Arquitetura do SQL Server 2005, Databases, Schemas, Ferramentas para rastreamento de problemas de forma rápida e muito mais. Confira todos os módulos preparados para você profissional de TI;</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/Suporte1/Home.aspx" target="_blank">Suporte Nível 1</a></strong><br />
Com acesso a material de muita qualidade você desenvolve de forma rápida e contundente habilidades necessárias para os melhores profissionais de TI. Confira e explore ao máximo o Experience Suporte Nível 1;</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/Suporte2/Home.aspx" target="_blank">Suporte Nível 2</a></strong><br />
Dando continuidade aos materiais para o seu desenvolvimento o Experience Suporte Nível 2 chega com muitas novidades para você que busca conhecimento e informação de qualidade. Confira também o Experience Suporte Nível 2;</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/windowsserver2008/Home.aspx" target="_blank">Windows Server 2008</a></strong><br />
Com este experience você irá explorar as novas capacidades de gerenciamento e desenvolvimento do Windows Server 2008. Aproveite o máximo dessa experiência e dê um boom no seu conhecimento;</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/segurancaPublico/Home.aspx" target="_blank">Segurança</a></strong><br />
Utilize o Experience de Segurança para o setor público para aprender tudo sobre Proteção de Clientes, Segurança em Redes Windows, ISA Server 2006, Forefront e muitas outras ferramentas de segurança;</li>
<li><strong><a href="https://www.technetbrasil.com.br/experience/infraweb/Home.aspx" target="_blank">InfraWeb</a></strong><br />
No experience Infraweb você tem acesso aos conteúdos mais importantes sobre infraestrutura e aprende na prática tudo sobre Introdução ao Windows Server 2003 Active Directory, Evolução da Plataforma Microsoft para Web (IIS 6.0, IIS 7.0) e Visão Comparativa, Microsoft Internet Security and Acceleration 2006 (ISA) e muito mais.</li>
</ul>
<p>Agora os cursos pra turma de desenvolvimento (<a href="http://msdn.microsoft.com/pt-br/default.aspx" target="_blank">MSDN</a>)</p>
<ul>
<li><strong><a href="http://www.msdnbrasil.com.br/experience/Officedev/" target="_blank">Office Development</a></strong><br />
O Microsoft Office System 2007 proporciona um conjunto de serviços, clientes e ferramentas que facilitam a construção e a implantação de aplicativos compostos no ambiente corporativo por empresas e fornecedores de software. Essas soluções, denominadas Office Business Applications (OBAs), são de construção e implantação rápidas; habilitam os usuários finais por meio de amplas capacidades de personalização; alteram-se facilmente sempre que as necessidades do negócio assim exigirem e são construídos com ferramentas e aplicativos bem conhecidos do Microsoft Office;</li>
<li><strong><a href="http://www.msdnbrasil.com.br/experience/sqlserver/" target="_blank">SQL Server</a></strong><br />
O SQL Server é parte integrante da plataforma Microsoft, responsável pelo gerenciamento de bancos de dados relacionais e construção de aplicações de Business Intelligence. Dessa forma, é essencial para grande parte dos aplicativos que exigem armazenamento e recuperação de dados. Toda manipulação é feita através de sua linguagem, o Transact-SQL, e das ferramentas disponíveis com o produto;</li>
<li><strong><a href="http://www.msdnbrasil.com.br/experience/vsts/" target="_blank">Visual Studio Team System</a></strong><br />
O VSTS é um conjunto de ferramentas que auxiliam membros da equipe como arquitetos, desenvolvedores e testadores a trabalharem de forma mais produtiva e integrada ao ciclo de vida de desenvolvimento de software, ajudando equipes a se comunicarem e colaborarem entre si de forma mais efetiva;</li>
<li><a href="http://www.msdnbrasil.com.br/experience/webacademy/" target="_blank"><strong>Web Development</strong></a><br />
ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web. O ASP.NET é baseado no .NET Framework herdando todas as suas características, por isso, como qualquer aplicação .NET, as aplicações para essa plataforma podem ser escritas em várias linguagens, como C# e Visual Basic .NET.</li>
</ul>
<p>Bom estudo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2009/01/05/microsoft-msdntechnet-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>O que fazer nas férias? Estude!</title>
		<link>http://www.igormusardo.com.br/2008/12/30/o-que-fazer-nas-ferias-estude/</link>
		<comments>http://www.igormusardo.com.br/2008/12/30/o-que-fazer-nas-ferias-estude/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 14:15:54 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MSDN]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=437</guid>
		<description><![CDATA[Essa é a minha sugestão, para você que está de férias e não sabe como tirar proveito desses dias de descanso. Se você trabalha com o banco de dados relacional SQL Server da Microsoft, vou sugerir dois cursos gratuitos de ótimo conteúdo. Microsoft Experience On-Line:  SQL Server Microsoft Experience On-Line:  SQL/BI Bom estudo!]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-438" title="Microsoft Experience On-Line" src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/msdn_experience.jpg" alt="Microsoft Experience On-Line" width="510" height="190" /></p>
<p>Essa é a minha sugestão, para você que está de férias e não sabe como tirar proveito desses dias de descanso.</p>
<p>Se você trabalha com o banco de dados relacional SQL Server da Microsoft, vou sugerir dois cursos gratuitos de ótimo conteúdo.</p>
<p><a href="http://www.msdnbrasil.com.br/experience/sqlserver/Home.aspx" target="_blank">Microsoft Experience On-Line:  SQL Server</a></p>
<p><a href="http://www.technetbrasil.com.br/Experience/SQLBI/Home.aspx" target="_blank">Microsoft Experience On-Line:  SQL/BI</a></p>
<p>Bom estudo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/12/30/o-que-fazer-nas-ferias-estude/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WebOrb 3.6 para .NET está disponível</title>
		<link>http://www.igormusardo.com.br/2008/12/12/weborb-36-para-net-esta-disponivel/</link>
		<comments>http://www.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[<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://www.igormusardo.com.br/2008/12/12/weborb-36-para-net-esta-disponivel/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Semana Microsoft nas nuvens</title>
		<link>http://www.igormusardo.com.br/2008/12/11/semana-microsoft-nas-nuvens/</link>
		<comments>http://www.igormusardo.com.br/2008/12/11/semana-microsoft-nas-nuvens/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:51:17 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=383</guid>
		<description><![CDATA[A semana do dia 15 ao dia 19 deste mês será recheada de ótimos webcasts sobre a plataforma de desenvolvimento nas nuvens da Microsoft. Acompanhe as palestras e mergulhe nas nuvens. As palestras ocorrerão todos os dias a partir das 20hrs. 15/12/2008 &#8211; Windows Azure &#8211; Deep Dive 16/12/2008 &#8211; Live Services 17/12/2008 &#8211; .NET [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/12/servicesplatform.jpg" alt="" title="Plataforma Azure"/></center></p>
<p>A semana do dia 15 ao dia 19 deste mês será recheada de ótimos webcasts sobre a plataforma de desenvolvimento nas nuvens da <a href="http://www.microsoft.com/brasil" target="_blank">Microsoft</a>. Acompanhe as palestras e mergulhe nas nuvens.</p>
<p>As palestras ocorrerão todos os dias a partir das 20hrs.</p>
<p><a href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10990618&#038;s1=a0a868c2-c34f-67fc-5509-0303321dff30" target="_blank">15/12/2008 &#8211; Windows Azure &#8211; Deep Dive</a><br />
<a href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10990619&#038;s1=a0a868c2-c34f-67fc-5509-0303321dff30" target="_blank">16/12/2008 &#8211;  Live Services</a><br />
<a href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10990621&#038;s1=a0a868c2-c34f-67fc-5509-0303321dff30" target="_blank">17/12/2008 &#8211; .NET Services</a><br />
<a href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10990622&#038;s1=a0a868c2-c34f-67fc-5509-0303321dff30" target="_blank">18/12/2008 &#8211; SQL Services</a><br />
<a href="http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10990623&#038;s1=a0a868c2-c34f-67fc-5509-0303321dff30" target="_blank">19/12/2008 &#8211; Visual Studio 2010 </a></p>
<p>Nos encontraremos por lá.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/12/11/semana-microsoft-nas-nuvens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Max 2008: Visual Studio, Flex e AMF</title>
		<link>http://www.igormusardo.com.br/2008/11/18/adobe-max-2008-visual-studio-flex-e-amf/</link>
		<comments>http://www.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[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 [...]]]></description>
			<content:encoded><![CDATA[<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">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://www.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>Conheça o Visual Studio Team System (VSTS) 2008</title>
		<link>http://www.igormusardo.com.br/2008/11/12/conheca-o-vsts-2008/</link>
		<comments>http://www.igormusardo.com.br/2008/11/12/conheca-o-vsts-2008/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 14:21:22 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Evento]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=280</guid>
		<description><![CDATA[A Microsoft Brasil e seus parceiros de negócios apresentarão o Visual Studio Team System 2008 em 12 cidades. Aracajú Belo Horizonte Blumenau Brasília Campinas Curitiba Fortaleza Recife Rio de Janeiro Salvador São Paulo Uberlândia O conteúdo abordado será: Situação da Indústria de Software Mundial Desafios do Desenvolvimento e Manutenção de Software Colaboração entre testadores, desenvolvedores, [...]]]></description>
			<content:encoded><![CDATA[<p>A Microsoft Brasil e seus parceiros de negócios apresentarão o Visual Studio Team System 2008 em 12 cidades.</p>
<table cellpadding='10' cellspacing='0' border='0' align='center'>
<tr>
<td>
Aracajú
</td>
<td>
Belo Horizonte
</td>
<td>
Blumenau
</td>
</tr>
<tr>
<td>
Brasília
</td>
<td>
Campinas
</td>
<td>
Curitiba
</td>
</tr>
<tr>
<td>
Fortaleza
</td>
<td>
Recife
</td>
<td>
Rio de Janeiro
</td>
</tr>
<tr>
<td>
Salvador
</td>
<td>
São Paulo
</td>
<td>
Uberlândia
</td>
</tr>
</table>
<p>O conteúdo abordado será:</p>
<ul>
<li>Situação da Indústria de Software Mundial</li>
<li>Desafios do Desenvolvimento e Manutenção de Software</li>
<li>Colaboração entre testadores, desenvolvedores, arquitetos e analistas de requisito</li>
<li>Visão Geral sobre o Visual Studio 2008 Team System</li>
<li>Qualidade e Controle do Processo de Desenvolvimento</li>
<li>Demonstração prática dos Visual Studio Team System</li>
</ul>
<p>Não perca essa oportunidade para trocar informações. Caso tenha interesse em participar acesse o <a href="http://www.msdnbrasil.com.br/conhecavsts/Eventos.aspx" target="_blank">site do evento</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/11/12/conheca-o-vsts-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Chart Controls para o .NET Framework 3.5</title>
		<link>http://www.igormusardo.com.br/2008/11/05/microsoft-chart-controls-para-o-net-framework-35/</link>
		<comments>http://www.igormusardo.com.br/2008/11/05/microsoft-chart-controls-para-o-net-framework-35/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 10:26:21 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Gráfico]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Reporting Services]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=262</guid>
		<description><![CDATA[Foi disponibilizado essa semana um novo componente para o .NET Framework 3.5 SP1, o Chart Controls para Web Forms e Windows Forms, com os mesmos gráficos disponíveis no Report Services 2008. Finalmente temos um excelente componente gráfico próprio do Framework, não dependendo mais de soluções de terceiros para gráficos. Os gráficos gerados pelo componente são inspirados [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Foi disponibilizado essa semana um novo componente para o <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&amp;displaylang=en" target="_blank">.NET Framework 3.5 SP1</a>, o <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en" target="_blank">Chart Controls</a> para <a href="http://www.asp.net/" target="_blank">Web Forms</a> e <a href="http://windowsclient.net/" target="_blank">Windows Forms</a>, com os mesmos gráficos disponíveis no <a href="http://www.microsoft.com/sqlserver/2008/en/us/reporting.aspx" target="_blank">Report Services 2008</a>.</p>
<p style="text-align: left;">Finalmente temos um excelente componente gráfico próprio do Framework, não dependendo mais de soluções de terceiros para gráficos.</p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/11/aspnetchartcontrol.gif" target="_blank"><img class="aligncenter size-medium wp-image-261" title="AspNet Chart Control" src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/aspnetchartcontrol-300x187.gif" alt="" width="300" height="187" /></a></p>
<p style="text-align: left;"><span id="more-262"></span>Os gráficos gerados pelo componente são inspirados no <a href="http://www.dundas.com/" target="_blank">Dundas Chart</a>. Após instalado, o <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en" target="_blank">Chart Controls da Microsoft</a>, a opção Chart aparece na Toolbox.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-265" title="Toolbox Chart" src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/toolboxchart.gif" alt="" width="168" height="57" /></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/11/chart.gif" target="_blank"><img class="aligncenter size-medium wp-image-266" title="Chart" src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/chart-300x131.gif" alt="" width="300" height="131" /></a></p>
<p style="text-align: center;"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/11/propriedadeschart.gif" target="_blank"><img class="aligncenter size-medium wp-image-267" title="Propriedades" src="http://www.igormusardo.com.br/wp-content/uploads/2008/11/propriedadeschart-68x300.gif" alt="" width="68" height="300" /></a></p>
<p style="text-align: left;">Infelizmente o componente foi desenvolvido para rodar apenas sob a versão <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&amp;displaylang=en" target="_blank">3.5 SP1 do .NET Framework</a>.</p>
<p style="text-align: left;"><strong>Para download e maiores informações acesse os links abaixo.</strong></p>
<p style="text-align: left;"><strong>Microsoft Chart Controls for Microsoft .NET Framework 3.5</strong><br />
<a title="http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en</a></p>
<p><strong>Microsoft Chart Controls for Microsoft .NET Framework 3.5 Language Pack<br />
</strong><a title="http://www.microsoft.com/downloads/details.aspx?familyid=581FF4E3-749F-4454-A5E3-DE4C463143BD&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=581FF4E3-749F-4454-A5E3-DE4C463143BD&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?familyid=581FF4E3-749F-4454-A5E3-DE4C463143BD&amp;displaylang=en</a></p>
<p><strong>Microsoft Chart Controls for .NET Framework Documentation</strong><br />
<a title="http://www.microsoft.com/downloads/details.aspx?familyid=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?familyid=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?familyid=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en</a></p>
<p><strong>Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008</strong><br />
<a title="http://www.microsoft.com/downloads/details.aspx?FamilyId=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?FamilyId=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en</a></p>
<p><strong>Exemplos do  Microsoft Chart Controls</strong><br />
<a title="http://code.msdn.microsoft.com/mschart" href="http://code.msdn.microsoft.com/mschart" target="_blank">http://code.msdn.microsoft.com/mschart</a></p>
<p><strong>Alex Gorev&#8217;s Chart Blog</strong><br />
<strong><a href="http://blogs.msdn.com/alexgor" target="_blank">http://blogs.msdn.com/alexgor</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/11/05/microsoft-chart-controls-para-o-net-framework-35/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flex &#8211; Exportar Datagrid para Excel</title>
		<link>http://www.igormusardo.com.br/2008/10/28/adobe-flex-exportar-datagrid-para-excel/</link>
		<comments>http://www.igormusardo.com.br/2008/10/28/adobe-flex-exportar-datagrid-para-excel/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 13:48:17 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DataGrid]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=220</guid>
		<description><![CDATA[Se você é um desenvolvedor Flex de sistemas gerenciais com consultas ad-hoc como eu, se ainda não precisou, com certeza um dia irá precisar exportar os dados de uma Datagrid para o Microsoft Excel. Abaixo mostrarei como realizar essa exportação. Primeiramente precisamos construir nossa aplicação no Adobe Flex, para obter o resultado acima, copie o [...]]]></description>
			<content:encoded><![CDATA[<p>Se você é um desenvolvedor Flex de sistemas gerenciais com <a href="http://www.igormusardo.com.br/?p=208" target="_blank">consultas ad-hoc</a> como eu, se ainda não precisou, com certeza um dia irá precisar exportar os dados de uma Datagrid para o Microsoft Excel.</p>
<p>Abaixo mostrarei como realizar essa exportação.</p>
<p><span id="more-220"></span>
<p align="center"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/10/datagridparaexportar.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/10/datagridparaexportar-300x79.gif" alt="" title="Datagrid para exportar" width="300" height="79" class="aligncenter size-medium wp-image-221" /></a></p>
<p>Primeiramente precisamos construir nossa aplicação no Adobe Flex, para obter o resultado acima, copie o código 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
</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><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;">			[Bindable]</span>
<span style="color: #339933;">			private var dp:Array = [</span>
<span style="color: #339933;">				{ symbol: &quot;ADBE&quot;, name: &quot;Adobe Systems Inc.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 },</span>
<span style="color: #339933;">				{ symbol: &quot;MACR&quot;, name: &quot;Macromedia Inc.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 },</span>
<span style="color: #339933;">				{ symbol: &quot;MSFT&quot;, name: &quot;Microsoft Corp.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 },</span>
<span style="color: #339933;">				{ symbol: &quot;IBM&quot;, name: &quot;IBM Corp.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 },</span>
<span style="color: #339933;">				{ symbol: &quot;ADBE&quot;, name: &quot;Adobe Systems Inc.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 },</span>
<span style="color: #339933;">				{ symbol: &quot;MACR&quot;, name: &quot;Macromedia Inc.&quot;, price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }</span>
<span style="color: #339933;">				];					</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> id=<span style="color: #ff0000;">&quot;dgDado&quot;</span> y=<span style="color: #ff0000;">&quot;40&quot;</span> dataProvider=<span style="color: #ff0000;">&quot;{dp}&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&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> label=<span style="color: #ff0000;">&quot;Exportar para o Excel&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> id=<span style="color: #ff0000;">&quot;btExportar&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>Agora vem o primeiro pulo do gato, crie uma classe no Flex chamada <strong>DataGridExporter</strong>, em meu exemplo salvei a classe no diretório br.com.igormusardo.datagrid.</p>
<p>Nesta classe, temos duas funções <strong>loadDGInExcel</strong> e <strong>convertDGToHTMLTable</strong>, essas funções são responsáveis por receber uma Datagrid como parâmetro, ler o seu conteúdo, criar o código HTML que represente a DataGrid e finalmente passar o HTML gerado como parâmetro de uma página, no meu caso ASP.NET mas pode ser feito em PHP ou JSP, informada na variável <strong>urlExcelExport</strong> para que a aplicação server-side gere o arquivo .XLS e forçe o download para o cliente. Para tanto copie o código 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
</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;">datagrid</span>
<span style="color: #66cc66;">&#123;</span>
    	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">errors</span>.<span style="color: #66cc66;">*</span>;
    	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #66cc66;">*</span>;
    	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">external</span>.<span style="color: #66cc66;">*</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>;
    	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">URLVariables</span>;
    	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">navigateToURL</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> DataGridExporter
        <span style="color: #66cc66;">&#123;</span>        	
	        <span style="color: #808080; font-style: italic;">//Aplicação servidor que gerará o excel</span>
	        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> urlExcelExport:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;ExcelExport.aspx&quot;</span>;
&nbsp;
&nbsp;
	        <span style="color: #808080; font-style: italic;">// Converte a datagrid para uma tabela html</span>
	        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> convertDGToHTMLTable<span style="color: #66cc66;">&#40;</span>dg:<span style="color: #66cc66;">*</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> <span style="color: #0066CC;">font</span>:<span style="color: #0066CC;">String</span> = dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fontFamily'</span><span style="color: #66cc66;">&#41;</span>;
	        	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">size</span>:<span style="color: #0066CC;">String</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'fontSize'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>-<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Reduz em 2, o tamanho da fonte.</span>
	        	<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">''</span>;
	        	<span style="color: #000000; font-weight: bold;">var</span> colors:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">''</span>;
	        	<span style="color: #000000; font-weight: bold;">var</span> style:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'style=&quot;font-family:'</span>+<span style="color: #0066CC;">font</span>+<span style="color: #ff0000;">';font-size:'</span>+<span style="color: #0066CC;">size</span>+<span style="color: #ff0000;">'pt;&quot;'</span>;				
	        	<span style="color: #000000; font-weight: bold;">var</span> hcolor:<span style="color: #0066CC;">Array</span>;
&nbsp;
	        	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;headerColor&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        		hcolor = <span style="color: #66cc66;">&#91;</span>dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;headerColor&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>;
	        	<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
	        		hcolor = dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;headerColors&quot;</span><span style="color: #66cc66;">&#41;</span>;
	        	<span style="color: #66cc66;">&#125;</span>				
&nbsp;
	        	str+= <span style="color: #ff0000;">'&lt;table width=&quot;'</span>+dg.<span style="color: #0066CC;">width</span>+<span style="color: #ff0000;">'&quot;&gt;&lt;thead&gt;&lt;tr width=&quot;'</span>+dg.<span style="color: #0066CC;">width</span>+<span style="color: #ff0000;">'&quot; style=&quot;background-color:#'</span> +<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>hcolor<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">16</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">'&quot;&gt;'</span>;
&nbsp;
	        	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>;i<span style="color: #66cc66;">&lt;</span>dg.<span style="color: #006600;">columns</span>.<span style="color: #0066CC;">length</span>;i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        		colors = dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;themeColor&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	        		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">headerText</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">visible</span> == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        			str+=<span style="color: #ff0000;">&quot;&lt;th &quot;</span>+style+<span style="color: #ff0000;">&quot;&gt;&quot;</span>+dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">headerText</span>+<span style="color: #ff0000;">&quot;&lt;/th&gt;&quot;</span>;
	        		<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">visible</span> == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        			str+= <span style="color: #ff0000;">&quot;&lt;th &quot;</span>+style+<span style="color: #ff0000;">&quot;&gt;&quot;</span>+dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">dataField</span>+<span style="color: #ff0000;">&quot;&lt;/th&gt;&quot;</span>;
	        		<span style="color: #66cc66;">&#125;</span>
	        	<span style="color: #66cc66;">&#125;</span>
	        	str += <span style="color: #ff0000;">&quot;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&quot;</span>;
	        	colors = dg.<span style="color: #0066CC;">getStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;alternatingRowColors&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	        	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> j:<span style="color: #0066CC;">int</span> =<span style="color: #cc66cc;">0</span>;j<span style="color: #66cc66;">&lt;</span>dg.<span style="color: #006600;">dataProvider</span>.<span style="color: #0066CC;">length</span>;j++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>					
	        		str+=<span style="color: #ff0000;">&quot;&lt;tr width=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>+<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">ceil</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&quot;</span>;
&nbsp;
	        		<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> k:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">0</span>; k <span style="color: #66cc66;">&lt;</span> dg.<span style="color: #006600;">columns</span>.<span style="color: #0066CC;">length</span>; k++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">dataProvider</span>.<span style="color: #006600;">getItemAt</span><span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">dataProvider</span>.<span style="color: #006600;">getItemAt</span><span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">visible</span> == <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">dataField</span> <span style="color: #66cc66;">!</span>= <span style="color: #ff0000;">&quot;Melhor&quot;</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>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">labelFunction</span> <span style="color: #66cc66;">!</span>= <span style="color: #0066CC;">undefined</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">labelFunction</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&amp;&amp;</span> dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">visible</span> == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	        					str += <span style="color: #ff0000;">&quot;&lt;td nowrap=<span style="color: #000099; font-weight: bold;">\&quot;</span>nowrap<span style="color: #000099; font-weight: bold;">\&quot;</span> width=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>+<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">ceil</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span>+style+<span style="color: #ff0000;">&quot;&gt;&quot;</span>+dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">labelFunction</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">dataProvider</span><span style="color: #66cc66;">&#91;</span>j<span style="color: #66cc66;">&#93;</span>,dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;&lt;/td&gt;&quot;</span>;
	        				<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
	        					str += <span style="color: #ff0000;">&quot;&lt;td nowrap=<span style="color: #000099; font-weight: bold;">\&quot;</span>nowrap<span style="color: #000099; font-weight: bold;">\&quot;</span> width=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>+<span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">ceil</span><span style="color: #66cc66;">&#40;</span>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span>+style+<span style="color: #ff0000;">&quot;&gt;&quot;</span>+dg.<span style="color: #006600;">dataProvider</span>.<span style="color: #006600;">getItemAt</span><span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span>dg.<span style="color: #006600;">columns</span><span style="color: #66cc66;">&#91;</span>k<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">dataField</span><span style="color: #66cc66;">&#93;</span>+<span style="color: #ff0000;">&quot;&lt;/td&gt;&quot;</span>;
	        				<span style="color: #66cc66;">&#125;</span>
	        			<span style="color: #66cc66;">&#125;</span>
	        		<span style="color: #66cc66;">&#125;</span>
	        		str += <span style="color: #ff0000;">&quot;&lt;/tr&gt;&quot;</span>;
	        	<span style="color: #66cc66;">&#125;</span>
	        	str+=<span style="color: #ff0000;">&quot;&lt;/tbody&gt;&lt;/table&gt;&quot;</span>;
&nbsp;
	        	<span style="color: #b1b100;">return</span> str;
	        <span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">// Envia o HTML para a aplicação servidor</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> loadDGInExcel<span style="color: #66cc66;">&#40;</span>dg:<span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> variables:URLVariables = <span style="color: #000000; font-weight: bold;">new</span> URLVariables<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; 
			variables.<span style="color: #006600;">htmltable</span>	= convertDGToHTMLTable<span style="color: #66cc66;">&#40;</span>dg<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> u:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span>urlExcelExport<span style="color: #66cc66;">&#41;</span>;
			u.<span style="color: #0066CC;">data</span> = variables;
			u.<span style="color: #006600;">method</span> = URLRequestMethod.<span style="color: #006600;">POST</span>;
&nbsp;
			navigateToURL<span style="color: #66cc66;">&#40;</span>u,<span style="color: #ff0000;">&quot;_self&quot;</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></td></tr></table></div>

<p>Após criada a classe, é necessário atribiuir uma função que executará o loadDGInExcel. Inclua o código abaixo ao seu código fonte action script.</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> exportar<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> dgE:DataGridExporter = <span style="color: #000000; font-weight: bold;">new</span> DataGridExporter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	dgE.<span style="color: #006600;">loadDGInExcel</span><span style="color: #66cc66;">&#40;</span>dgDado<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>E por fim, atribua a função exportar() ao click do botão, como o código abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td 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;Exportar para o Excel&quot;</span> horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> id=<span style="color: #ff0000;">&quot;btExportar&quot;</span> click=<span style="color: #ff0000;">&quot;{exportar()}&quot;</span><span style="color: #66cc66;">/&gt;</span></pre></td></tr></table></div>

<p>Pronto, no Adobe Flex, não é necessário fazer mais nenhuma alteração, agora o trabalho fica por conta da aplicação server-side. No Visual Studio, crie um novo arquivo chamado de ExcelExport.aspx, e inclua a tag ValidateRequest=&#8221;false&#8221; no cabeçalho do arquivo aspx, como 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
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;%@ Page Language=&quot;vb&quot; ValidateRequest=&quot;false&quot; AutoEventWireup=&quot;false&quot; CodeBehind=&quot;ExcelExport.aspx.vb&quot; Inherits=&quot;Flex.ExcelExport&quot; %&gt;
&nbsp;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&nbsp;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;
    &lt;div&gt;
&nbsp;
    &lt;/div&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>A parte de codificação, receberá o parâmetro htmltable, vindo do Flex que renderizará com o ContentType &#8220;application/vnd.ms-excel&#8221; com o nome de ExportaExcel.xls tudo isso dentro da função Page Load.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="vbnet" style="font-family:monospace;">    Protected <span style="color: #0600FF;">Sub</span> Page_Load<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> <span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> <span style="color: #FF8000;">Me</span>.<span style="color: #0000FF;">Load</span>
        Response.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        Response.<span style="color: #0000FF;">ContentType</span> <span style="color: #008000;">=</span> <span style="color: #808080;">&quot;application/vnd.ms-excel&quot;</span>
        Response.<span style="color: #0000FF;">AddHeader</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;content-disposition&quot;</span>, <span style="color: #808080;">&quot;attachment;filename=ExportaExcel.xls&quot;</span><span style="color: #000000;">&#41;</span>
        Response.<span style="color: #0000FF;">Charset</span> <span style="color: #008000;">=</span> <span style="color: #808080;">&quot;&quot;</span>
        EnableViewState <span style="color: #008000;">=</span> <span style="color: #0600FF;">False</span>
        Request.<span style="color: #0000FF;">ContentEncoding</span> <span style="color: #008000;">=</span> System.<span style="color: #0000FF;">Text</span>.<span style="color: #0000FF;">Encoding</span>.<span style="color: #0000FF;">UTF8</span>
        Response.<span style="color: #0600FF;">Write</span><span style="color: #000000;">&#40;</span>Request<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;htmltable&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
        Response.<span style="color: #0600FF;">End</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span></pre></td></tr></table></div>

<p>Dessa forma, quando o Flex enviar o htmltable, o navegador exibirá a janela padrão de download, para o arquivo recém criado.</p>
<p align="center"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/10/desejasalvarexcel.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/10/desejasalvarexcel-300x197.gif" alt="" title="Deseja salvar Excel" width="300" height="197" class="aligncenter size-medium wp-image-222" /></a></p>
<p>E pronto! Sua aplicação Adobe Flex já exporta os dados de uma Datagrid para o Excel.</p>
<p align="center"><a href="http://www.igormusardo.com.br/wp-content/uploads/2008/10/datagridexportada.gif" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/10/datagridexportada-300x64.gif" alt="" title="Datagrid exportada" width="300" height="64" class="aligncenter size-medium wp-image-223" /></a></p>
<p>Duvídas e feedbacks são sempre muito bem-vindos.</p>
<p>Sucesso e divirta-se.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/10/28/adobe-flex-exportar-datagrid-para-excel/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Artigo &#8211; Construindo aplicações ricas com Adobe Flex 3 e ASP.NET na revista Mundo .NET</title>
		<link>http://www.igormusardo.com.br/2008/10/27/artigo-construindo-aplicacoes-ricas-com-adobe-flex-3-e-aspnet-na-revista-mundo-net/</link>
		<comments>http://www.igormusardo.com.br/2008/10/27/artigo-construindo-aplicacoes-ricas-com-adobe-flex-3-e-aspnet-na-revista-mundo-net/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 10:34:10 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[BI]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=214</guid>
		<description><![CDATA[Está nas bancas a edição 11 da revista Mundo .NET, nesta edição foi publicado outro artigo meu, porém este sobre a integração entre Adobe Flex 3 e Asp.NET, em um modelo real, passo-a-passo partindo do zero. Além do meu artigo, a revista trás artigos sobre Asp.NET MVC, Criando um sistema de BI para Web, Relatórios [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mundodotnet.com.br/" target="_blank"><img src="http://www.igormusardo.com.br/wp-content/uploads/2008/10/mundoneted11.jpg" alt="" title="Mundo .Net ed.11" width="500" height="258" class="aligncenter size-full wp-image-215" /></a></p>
<p>Está nas bancas a edição 11 da <a href="http://www.mundodotnet.com.br/" target="_blank">revista Mundo .NET</a>, nesta edição foi publicado outro artigo meu, porém este sobre a <strong>integração entre Adobe Flex 3 e Asp.NET, em um modelo real, passo-a-passo partindo do zero</strong>.</p>
<p>Além do meu artigo, a revista trás artigos sobre Asp.NET MVC, Criando um sistema de BI para Web, Relatórios com o Reporting Services 2005 entre outros artigos bacanas.</p>
<p>Compre a revista, leia o artigo e faça sua critíca e/ou sugestão.</p>
<p><strong>UPDATE</strong><br />
Disponibilizei o artigo aqui no Blog, acesse <a href="http://www.igormusardo.com.br/2009/01/26/construindo-aplicacoes-ricas-de-internet-com-adobe-flex-3-e-aspnet/">Construindo aplicações ricas de internet com Adobe Flex 3 e ASP.NET</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/10/27/artigo-construindo-aplicacoes-ricas-com-adobe-flex-3-e-aspnet-na-revista-mundo-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Construa aplicações Multi-Toque em .NET utilizando Touchless</title>
		<link>http://www.igormusardo.com.br/2008/10/17/construa-aplicacoes-multi-toque-em-net-utilizando-touchless/</link>
		<comments>http://www.igormusardo.com.br/2008/10/17/construa-aplicacoes-multi-toque-em-net-utilizando-touchless/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 13:53:43 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=197</guid>
		<description><![CDATA[O Ramon Durães acabou de blogar sobre o SDK Touchless. O Touchless é um SDK que permite aos desenvolvedores .NET criar e experimentar aplicativos touch sem telas touchscreen. O Touchless começou como um projeto universitário de Mike Wasserman. A idéia principal: oferecer o multi-toque, sem a necessidade de hardware ou software caro. Tudo o que [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://blogs.2pc.com.br/ramonduraes/archive/2008/10/17/vou-achou-que-j-tinha-visto-tudo-em-touch.aspx" target="_blank">Ramon Durães</a> acabou de blogar sobre o <strong>SDK Touchless</strong>.</p>
<p>O <strong>Touchless</strong> é um SDK que permite aos desenvolvedores <strong>.NET</strong> criar e experimentar aplicativos touch sem telas touchscreen. O <strong>Touchless</strong> começou como um projeto universitário de <strong>Mike Wasserman</strong>. </p>
<p>A idéia principal: oferecer o multi-toque, sem a necessidade de hardware ou software caro. Tudo o que o usuário precisa é uma câmera, que monitorará marcadores de texto coloridos definidos pelo usuário.</p>
<p><span id="more-197"></span>O projeto está disponível no site do <a href="http://www.codeplex.com/touchless" target="_blank"><strong>Codeplex</strong></a>. Lá você encontrará dois arquivos para fazer o download:</p>
<p>-<strong>Touchless Demo</strong> é um aplicativo que qualquer pessoa com uma webcam pode usar para experimentar o multi-toque. Há 4 demos divertidos: </p>
<ul>
<li>Snake &#8211; onde você controla uma serpente com um marcador;</li>
<li>Defender &#8211; versão até 4 jogadores de um jogo similar ao Pong;</li>
<li>Map &#8211; onde você pode girar, dar zoom e mover o mapa utilizando 2 marcadores;</li>
<li>Draw &#8211; O marcador é usado para adivinhem o que?&#8230; desenhar!.</li>
</ul>
<p>-<strong>Touchless SDK</strong> é o SDK open-source que permite aos desenvolvedores criar aplicativos multi-toque usando uma webcam para a entrada de dados.</p>
<p><a href="http://www.youtube.com/watch?v=hJuJJOK7MMc&#038;fmt=18" target="_blank">Assista ao vídeo de demonstração do SDK no YouTube</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/10/17/construa-aplicacoes-multi-toque-em-net-utilizando-touchless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug no Internet Explorer 7 com a função JavaScript &#8220;return false&#8221;</title>
		<link>http://www.igormusardo.com.br/2008/09/23/bug-no-internet-explorer-7-com-a-funcao-javascript-return-false/</link>
		<comments>http://www.igormusardo.com.br/2008/09/23/bug-no-internet-explorer-7-com-a-funcao-javascript-return-false/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 19:40:20 +0000</pubDate>
		<dc:creator>Igor Musardo</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.igormusardo.com.br/?p=129</guid>
		<description><![CDATA[Em alguns builds do Internet Explorer 7.0, existe um bug com o comando o return false, que simplesmente é ignorado. O exemplo de código abaixo não funciona em alguns IE&#8217;s 7. 1 2 3 4 if&#40;confirm&#40;'Deseja excluir o registro?'&#41;==false&#41; return false; else return true; Mesmo que se clique em cancelar, o IE ignora a opção [...]]]></description>
			<content:encoded><![CDATA[<p>Em alguns builds do Internet Explorer 7.0, existe um bug com o comando o <strong>return false</strong>, que simplesmente é ignorado.</p>
<p>O exemplo de código abaixo não funciona em alguns IE&#8217;s 7.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">confirm</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Deseja excluir o registro?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">else</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Mesmo que se clique em cancelar, o IE ignora a opção e continua a execução do código.</p>
<p><span id="more-129"></span>Após várias buscas no Google, encontrei a solução do problema. Basta inserir o comando <strong>event.returnValue=false;</strong> antes do comando <strong>return false;</strong>. Como no código abaixo.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">confirm</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Deseja excluir o registro?'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
     event.<span style="color: #660066;">returnValue</span><span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.igormusardo.com.br/2008/09/23/bug-no-internet-explorer-7-com-a-funcao-javascript-return-false/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
