<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Renato Haddad : asp.net</title><link>http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx</link><description>Tags: asp.net</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Artigo sobre LINQ com o GridView do ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/10/08/artigo-sobre-linq-com-o-gridview-do-asp-net.aspx</link><pubDate>Thu, 08 Oct 2009 23:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7225815</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7225815</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/10/08/artigo-sobre-linq-com-o-gridview-do-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;oi Pessoal, estive fora por 15 dias de férias e acabei não postando nada. Agora que voltei, estou anunciando um novo artigo meu que foi publcado no ste da Microsoft &lt;A href="wlmailhtml:{E0C790FE-CE99-4028-B118-838B0B497D76}mid://00000192/!x-usc:http://msdn.microsoft.com/pt-br/library/ee518661.aspx"&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/pt-br/library/ee518661.aspx&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;onde falo sobre o uso do LINQ com o controle GridView do ASP.NET. A idéia é bem legal para que vc possa ter uma idéia de como vincular uma coleção direto na fonte do GridView. Abordei de forma simples e objetiva. Aproveite.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7225815" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Ler dados de uma lista no ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/ler-dados-de-uma-lista-no-asp-net.aspx</link><pubDate>Tue, 15 Sep 2009 18:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7206917</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7206917</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/ler-dados-de-uma-lista-no-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Tenho recebido muitos emails me questionando sobre como ler dados selecionados de contoles ListBox (MultiSelect) e CheckBoxList no ASP.NET. Então, aqui está um código para ajudá-lo. Usei o Generics de int chamado filtro, o qual a cada iteração no looping verifico se o item está selecionado. Caso esteja, adiciono-o ao filtro. Ao final, teremos todos os itens selecionados na coleção filtro. Note ainda que usei o ListItem no foreach, mas infelizmente isto não existe no windows forms, só no asp.net.&lt;/P&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;gt; filtro = &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;gt;();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;ListItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cat &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cblCategorias.Items)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; (cat.Selected)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;{&lt;/P&gt;filtro.Add(&lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;Convert&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;.ToInt16(cat.Value));&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;boa sorte. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7206917" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Declaração de parâmetros no VB.NET - ntier</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/declara-231-227-o-de-par-226-metros-no-vb-net-ntier.aspx</link><pubDate>Tue, 15 Sep 2009 17:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7206902</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7206902</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/declara-231-227-o-de-par-226-metros-no-vb-net-ntier.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Num desenvolvimento em camadas onde a camada de acesso a dados utiliza parâmetros, veja um código de como delarar quantos parâmetros forem necessários. Note que usei um Hahtable e, para ler os parâmetros usei o foreach com um DictionaryEntry. Isto permite receber uma coleção de parâmetros e adicioná-los ao Command.&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; CamadaDados&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; conexao &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; = &lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"data source=MARTE; Initial Catalog=Northwind; Integrated Security=True"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Function&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; GetData(&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; sql &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; parametros &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Hashtable) &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; myTable &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; conn &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlConnection(conexao)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cmd &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlCommand(sql, conn)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;conn.Open()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=5&gt;&lt;FONT color=#008000 size=5&gt;' adicionar os parametros ao Command - chave / valor&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Item &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DictionaryEntry &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; parametros&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;cmd.Parameters.AddWithValue(Item.Key.ToString(), Item.Value)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; reader &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlDataReader = cmd.ExecuteReader()&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;myTable = &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;myTable.Load(reader)&lt;/P&gt;
&lt;P&gt;reader.Close()&lt;/P&gt;
&lt;P&gt;conn.Close()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Return&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; myTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Exception&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; ex&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Function&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Class&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;Agora veja o código que irá consumir esta função, evitando a injeção de SQL. Note que declarei apenas 1 parâmetro, mas vc pode declarar diversos.&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;
&lt;P&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; sql &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; = &lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"Select * from Products Where CategoryID=@cat"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;parametros.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"@cat"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;, 1)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;DataGridView1.DataSource = objDados.GetData(sql, parametros)&lt;/P&gt;&lt;/FONT&gt;Boa sorte nos códigos. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7206902" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/vb.net/default.aspx">vb.net</category></item><item><title>Videos free para aprender ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/11/videos-free-para-aprender-asp-net.aspx</link><pubDate>Fri, 11 Sep 2009 23:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7201544</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7201544</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/11/videos-free-para-aprender-asp-net.aspx#comments</comments><description>A Microsoft acabou de publicar 3 vídeos meus sobre os seguintes temas: &lt;BR&gt;- GridView com LINQ - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461394.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461394.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;- Dynamic Data parte 1 - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461391.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461391.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;- Dynamic Data parte 2 - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461393.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461393.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;O link da página de ASP.NET no msdn é: &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/default.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/default.aspx&lt;/A&gt; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;Quem sabe você já aproveita o final de semana pra aprender algo novo. Boa sorte e comentários são sempre bem-vindos, por favor fique à vontade para sugerir algo, criticar e elogiar. Usem o meu email &lt;A href="mailto:rehaddad@msn.com"&gt;rehaddad@msn.com&lt;/A&gt;&amp;nbsp; &lt;BR&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7201544" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Artigos do ASP.NET Dynamic Data no TechEd 2009</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/artigos-do-asp-net-dynamic-data-no-teched-2009.aspx</link><pubDate>Wed, 26 Aug 2009 17:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7182158</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7182158</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/artigos-do-asp-net-dynamic-data-no-teched-2009.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pessoal, algumas pessoas me questionaram os links dos meus artigos sobre o ASP.NET Dynamic Data que exibi no&amp;nbsp;TechEd 2009 hj 26/Ago. Aqui estão os links:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/pt-br/library/dd560511.aspx"&gt;http://msdn.microsoft.com/pt-br/library/dd560511.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/pt-br/library/dd871162.aspx"&gt;http://msdn.microsoft.com/pt-br/library/dd871162.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bos sorte e estude bastante pq isto é show mesmo. []s Renatão&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7182158" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Customizando dados no ASP.NET Dynamic Data</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/05/14/customizando-dados-no-asp-net-dynamic-data.aspx</link><pubDate>Fri, 15 May 2009 01:55:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7087515</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7087515</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/05/14/customizando-dados-no-asp-net-dynamic-data.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Se vc está trabalhando com ASP.NET Dynamic Data e quer customizar o nome dos campos a serem exibidos, estenda a classe como partial class e crie um metadada. Em seguida, caso queira trocar o nome referente à propriedade para ficar mais amigável ao internauta, use o DisplayName("novo nome"). Para aplicar uma formatação use o DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}"). Caso queira ocultar uma propriedade, use o ScaffoldColumn. Para aplicar uma validação de dados para que seja consistido um valor de acordo uma faixa, use o [Range(minimo, maximo, ErrorMessage = "mensagem de erro")].&lt;BR&gt;Com isto vc consegue customizar as propriedades das entidades. Veja um exemplo:&lt;/P&gt;
&lt;P mce_keep="true"&gt;using System;&lt;BR&gt;using System.Collections.Generic;&lt;BR&gt;using System.Linq;&lt;BR&gt;using System.Web;&lt;BR&gt;using System.ComponentModel.DataAnnotations;&lt;BR&gt;using System.ComponentModel;&lt;/P&gt;
&lt;P mce_keep="true"&gt;namespace DynamicDataFormatar&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [MetadataType(typeof(EmployeeMetadata))]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Employee&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class EmployeeMetadata&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object EmployeeID { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayName("Nome")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object FirstName { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayName("Nascimento")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object BirthDate { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayFormat(DataFormatString = "{0:D}")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayName("Admissão")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object HireDate { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ScaffoldColumn(false)]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object Cargo { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Range(100, 3000, ErrorMessage = "O salário deverá ser entre 100 e 3000")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DisplayFormat(DataFormatString = "{0:c2}")]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public object Salario { get; set; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;Particularmente, tenho gostado muito do ASP.NET Dynamic Data, pois nunca foi tão fácil criar um site ASP.NET em minutos. Pense nisto, e o melhor de tudo é que você terá que aprender LINQ (Language Integrated Query) e conceitos do C# 3, ou seja, estudar.&lt;BR&gt;Veja o artigo completo em &lt;A href="http://www.linhadecodigo.com.br/Artigo.aspx?id=2308"&gt;http://www.linhadecodigo.com.br/Artigo.aspx?id=2308&lt;/A&gt;&lt;BR&gt;bons estudos e se divirta!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7087515" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/dynamic+data/default.aspx">dynamic data</category></item><item><title>Aplicações prontas no ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/04/20/aplica-231-245-es-prontas-no-asp-net.aspx</link><pubDate>Mon, 20 Apr 2009 14:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7050685</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7050685</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/04/20/aplica-231-245-es-prontas-no-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;vc sabia que a MS lançou uma galeria de apliações prontas em ASP.NET para vc instalar e testar. O link é &lt;A href="http://www.microsoft.com/web/gallery/default.aspx"&gt;http://www.microsoft.com/web/gallery/default.aspx&lt;/A&gt;&amp;nbsp;e aproveite para montar um blog, um dotnetnuke, newsletter, wordpress, etc. O mais legal é que vc pode submter a sua app para ser colocada na galeria, se aprovada, é claro.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7050685" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Como criar sites dinâmicos com o ASP.NET Dynamic Data</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/03/18/como-criar-sites-din-226-micos-com-o-asp-net-dynamic-data.aspx</link><pubDate>Wed, 18 Mar 2009 20:35:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6976323</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6976323</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/03/18/como-criar-sites-din-226-micos-com-o-asp-net-dynamic-data.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Foi publicado o meu novo artigo sobre o ASP.NET Dynamic Data que tem como objetivo criar sites dinâmicos baseados no LINQ. Leia o artigo em &lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-fareast-language: PT-BR; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US&gt;&lt;A href="http://msdn.microsoft.com/pt-br/library/dd560511.aspx"&gt;http://msdn.microsoft.com/pt-br/library/dd560511.aspx&lt;/A&gt; .&amp;nbsp;Para protótipos e sites pequenos (principalmente a área de administração) não há nada melhor. simples, rápido, seguro e pronto, tá montado. boa leitura!&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6976323" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Dica de preenchimento de Listbox e DropDown com fonte de dados</title><link>http://weblogs.asp.net/renatohaddad/archive/2008/12/17/dica-de-preenchimento-de-listbox-e-dropdown-com-fonte-de-dados.aspx</link><pubDate>Wed, 17 Dec 2008 15:59:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6792739</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6792739</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2008/12/17/dica-de-preenchimento-de-listbox-e-dropdown-com-fonte-de-dados.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Algumas pessoas tem me questionado como adicionar items a um controle APÓS ter feito o datasource e o databind.&lt;/P&gt;Normalmente usamos o seguinte código:&lt;BR&gt;
&lt;P mce_keep="true"&gt;string[] dados = { "teste1", "teste2", "teste3", "teste4" };&lt;BR&gt;lstProdutos.DataSource = dados;&lt;BR&gt;lstProdutos.DataBind();&lt;/P&gt;
&lt;P mce_keep="true"&gt;Mas se vc tentar adicionar algum item entre o DataSource e o DataBind,nada funcionará pq o DataBind irá renderizar o controle somente com a fonte.&lt;/P&gt;
&lt;P mce_keep="true"&gt;string[] dados = { "teste1", "teste2", "teste3", "teste4" };&lt;BR&gt;lstProdutos.DataSource = dados;&lt;BR&gt;lstProdutos.Items.Add(new ListItem("ultimo item", "ultimo"));&lt;BR&gt;lstProdutos.Items.Insert(0, "novo item");&lt;BR&gt;lstProdutos.DataBind();&lt;/P&gt;
&lt;P mce_keep="true"&gt;Mas seus problemas acabaram :) pq no ASP.NET 3.5 existe a propriedade AppendDataBoundItems que permite adicionar items mesmo antes do DataBind. Veja o exemplo:&lt;/P&gt;
&lt;P mce_keep="true"&gt;string[] dados = { "teste1", "teste2", "teste3", "teste4" };&lt;BR&gt;lstProdutos.AppendDataBoundItems = true;&amp;nbsp;&amp;nbsp; // NOVA PROPRIEDADE&lt;BR&gt;lstProdutos.DataSource = dados;&lt;BR&gt;lstProdutos.Items.Add(new ListItem("ultimo item", "ultimo"));&lt;BR&gt;lstProdutos.Items.Insert(0, "novo item");&lt;BR&gt;lstProdutos.DataBind();&lt;/P&gt;
&lt;P mce_keep="true"&gt;Faça um bom uso deste código e aplique-o nos seus projetos.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6792739" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Criação de um Acelerador no IE8</title><link>http://weblogs.asp.net/renatohaddad/archive/2008/11/05/cria-231-227-o-de-um-acelerador-no-ie8.aspx</link><pubDate>Wed, 05 Nov 2008 17:02:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6721817</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6721817</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2008/11/05/cria-231-227-o-de-um-acelerador-no-ie8.aspx#comments</comments><description>&lt;P&gt;O acelerador é um dos novos recursos do IE8 que vc pode implementar na sua aplicação imediatamente. Assista ao meu Web Cast sobre isto que farei hj ou depois vc baixa do devcenter da Microsoft.&lt;/P&gt;
&lt;P&gt;Passo 1) No VS.NET 2005/2008 crie um web site e adicione o arquivo GetData.xml contendo:&lt;BR&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;BR&gt;&amp;lt;openServiceDescription xmlns="&lt;A href="http://www.microsoft.com/schemas/openservicedescription/1.0"&gt;http://www.microsoft.com/schemas/openservicedescription/1.0&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;homepageUrl&amp;gt;http://localhost/ProjetoIE8&amp;lt;/homepageUrl&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;display&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;Converte o texto para maiúsculo&amp;lt;/name&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;icon&amp;gt;http://localhost/ProjetoIE8/FLGBRAZL.ICO&amp;lt;/icon&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/display&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;lt;activity category="Textos"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;activityAction context="selection"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;execute method="get"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; action="&lt;A href="http://localhost/ProjetoIE8/acelerador.aspx?where1={selection"&gt;http://localhost/ProjetoIE8/acelerador.aspx?where1={selection&lt;/A&gt;}" /&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;preview action="&lt;A href="http://localhost/ProjetoIE8/acelerador.aspx"&gt;http://localhost/ProjetoIE8/acelerador.aspx&lt;/A&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;parameter name="where1" value="{selection}" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/preview&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/activityAction&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/activity&amp;gt;&lt;BR&gt;&amp;lt;/openServiceDescription&amp;gt;&lt;/P&gt;
&lt;P&gt;Passo 2) Crie um novo item do tipo Web Form chamado Acelerador.aspx contendo:&lt;BR&gt;protected void Page_Load(object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write("Veja o texto em maiúsculo: " + Request.Params[0].ToUpper());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;Passo 3) Crie um web form chamado UsaAcelerador.aspx que irá registrar o acelerador qdo vc clicar no botão. O conteúdo é:&lt;BR&gt;&amp;lt;fieldset&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;legend&amp;gt;Exemplo de como registrar o Acelerador&amp;lt;/legend&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;button onclick="window.external.addService('http://localhost/ProjetoIE8/GetDados.xml')"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Instala o Acelerador&amp;lt;/button&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caso queira testar, selecione qualquer texto e chame o acelerador&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;&lt;/P&gt;
&lt;P&gt;Passo 4) Pronto, está tudo criado. Execute o UsaAcelerador.aspx no IE8, clique no botão para registrar o acelerador. Para testar, selecione qualquer texto, o IE8 vai mostrar um ícone dos Aceleradores, então, selecione o criado "Converte o texto para maiúsculo". Note que o conteúdo será exibido numa janela com todo o texto tratado pelo acelerador.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6721817" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/IE8/default.aspx">IE8</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/acelerator/default.aspx">acelerator</category></item><item><title>Como criar um total no rodapé do controle GridView do ASP.NET?</title><link>http://weblogs.asp.net/renatohaddad/archive/2008/10/29/como-criar-um-total-no-rodap-233-do-controle-gridview-do-asp-net.aspx</link><pubDate>Wed, 29 Oct 2008 16:31:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6710045</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6710045</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2008/10/29/como-criar-um-total-no-rodap-233-do-controle-gridview-do-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Vc sabia que é possível criar um totalizador de colunas no rodapé do controle GridView do ASP.NET, mesmo que vc tenha paginação? Tenha em mente estas colunas no GridView: ID | Produto | Preco | Qtde&lt;/P&gt;
&lt;P mce_keep="true"&gt;O que vc tem que fazer é criar o seguinte código no evento DataBound do GridView para somar a coluna Qtde e exibir o total no rodapé:&lt;/P&gt;
&lt;P mce_keep="true"&gt;protected void GridView1_DataBound(object sender, EventArgs e)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; decimal Total = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (GridViewRow row in GridView1.Rows)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // converte o preco e a qtde para multiplicar e somar no total&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decimal preco = decimal.Parse(row.Cells[2].Text);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int qtde = Int32.Parse(row.Cells[3].Text);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total += preco * qtde;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridViewRow footer = GridView1.FooterRow;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; footer.Cells[0].ColumnSpan = 3;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; footer.Cells[0].HorizontalAlign = HorizontalAlign.Center;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; footer.Cells.RemoveAt(2);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; footer.Cells.RemoveAt(1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; footer.Cells[0].Text = string.Format("Stock value: {0:n2}", myStock);&lt;BR&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;Veja este exemplo ao vivo em &lt;A href="http://www.renatohaddad.com/GridView/GridTotalRodape.aspx" mce_href="http://www.renatohaddad.com/GridView/GridTotalRodape.aspx"&gt;http://www.renatohaddad.com/GridView/GridTotalRodape.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Mais exemplos do GridView, consute o CD Um Mergulho no controle GridView em &lt;A href="http://www.renatohaddad.com/videos.aspx" mce_href="http://www.renatohaddad.com/videos.aspx"&gt;http://www.renatohaddad.com/videos.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bons estudos!!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6710045" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/gridview/default.aspx">gridview</category></item><item><title>Dica de ASP.NET Databound</title><link>http://weblogs.asp.net/renatohaddad/archive/2008/10/21/dica-de-asp-net-databound.aspx</link><pubDate>Wed, 22 Oct 2008 00:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6697219</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6697219</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2008/10/21/dica-de-asp-net-databound.aspx#comments</comments><description>&lt;P&gt;Esta dica é para o desenvolvedor não ficar criando código POG (Programação Orientada a Gambiarra) quando for adicionar um novo item a um objeto ListBox ou ComboBox em certa ordem. Dado um array veja nos exemplos 1 e 2 como adicionar um&amp;nbsp; elemento na última e na primeira posição após ocorrer o DataBind.&lt;/P&gt;
&lt;P&gt;// declara o array de dados&lt;/P&gt;
&lt;P&gt;string[] dados = { "teste1", "teste2", "teste3", "teste4" };&lt;/P&gt;
&lt;P&gt;ListBox1.DataSource = dados;&lt;BR&gt;ListBox1.DataBind();&lt;/P&gt;
&lt;P&gt;// 1) adicionar um item a lista (ultimo elemento)&lt;/P&gt;
&lt;P&gt;ListBox1.Items.Add(new ListItem("ultimo item", "ultimo"));&lt;/P&gt;
&lt;P&gt;// 2) adicionar um item em uma determinada posicao da lista&lt;/P&gt;
&lt;P&gt;ListBox1.Items.Insert(0, "novo item");&lt;/P&gt;
&lt;P&gt;--------&lt;BR&gt;Agora, se você atribuir a propriedade AppendDataBoundItems = true do controle, você não precisa ficar controlando a posição após o DataBind. Com isto, o item pode ser inserido antes do DataBind que permanecerá na respectiva posição.&lt;/P&gt;
&lt;P&gt;DropDownList1.AppendDataBoundItems = true;&lt;BR&gt;DropDownList1.Items.Add("primeiro item");&lt;BR&gt;DropDownList1.DataSource = dados;&lt;BR&gt;DropDownList1.DataBind();&lt;BR&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6697219" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>Dicas do Controle GridView do ASP.NET 2.0 e 3.5</title><link>http://weblogs.asp.net/renatohaddad/archive/2008/09/24/dicas-do-controle-gridview-do-asp-net-2-0-e-3-5.aspx</link><pubDate>Wed, 24 Sep 2008 13:36:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6640237</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=6640237</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2008/09/24/dicas-do-controle-gridview-do-asp-net-2-0-e-3-5.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Acabei de liberar no link &lt;A href="http://www.renatohaddad.com/GridView/default.aspx"&gt;http://www.renatohaddad.com/GridView/default.aspx&lt;/A&gt;&amp;nbsp;alguns exemplos do poder do GridView, o que vc pode explorar este fantástico controle mais utilizado em páginas ASP.NET. Bons estudos!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6640237" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item></channel></rss>