Maira Cristina Iantas

Meu blog sobre TI, atualidades sobre .Net e tecnologia em geral.

Arquivos da Categoria: ASP.Net

Microsoft Day – Curitiba

 Boa noite pessoal, depois de dias, meses, anos e até mesmo milênios sem postar, volto aqui para anunciar duas novidades!

A primeira : ( Que nem é tão nova assim …) Estou residindo em Florianópolis – SC, ééé os ventos da fortuna sopraram para o litoral catarinense e os ventos do amor também!
Oportunidades surgiram que eu não pude negar, oportunidades de crescimento profissional e pessoal ( principalmente), então, porque não encarar? A vida é feita de conquistas, senhores ;P, cá estou eu conquistando o meu espacinho ;).

A segunda : Eu saio de Curitiba mas Curitiba não sai de mim, tudo graças a nossa enorme parceria com a Marcela M. Peres que me convidou para que as ItGirlsMMs subissem ao palco para falar
um pouco sobre o TFS Service, (siiim, a nossa paixãozinha chamada TFS *.*). Vamos fazer um overview para o primeiro passo para as pequenas equipes utilizarem essa ferramente em seus ambientes corporativos, então, estendo o convite para vocês.

Venham participar do evento Microsoft Day – Curitiba, que acontecerá no dia primeiro de setembro ,  (01/09 ) na  Universidade Positivo, localizada na Rua Prof. Pedro Viriato Parigot de Souza 5300, 81280-330

Este evento contará com a equipe de peso da Microsoft que estará realizando a divulgação de novas tecnologias. Confiram a agenda e os detalhes no link de inscrição.

Após o evento iremos disponibilizar fotos e o material de exibição.

Aguardo vocês lá \o/.

Anúncios

POPULANDO GRIDVIEW COM ENUMERADOR

É de conhecimento geral que o GridView do ASP.Net é um dos componentes web mais ricos utilizados hoje pelos desenvolvedores .Net e, neste post será exibida a utilização de Enumerador para popular este componente.

  1. Primeiramente precisamos declarar a estrutura do nosso Enumerador.
public enum EnumPagamento
{EnumExtension</a>
  [EnumValues("A vista.", "A")]
  AVista,
 [EnumValues("Boleto", "B")]
  Boleto,
 [EnumValues("Credito", "C")]
Credito
 }

Observem que nosso Enum utiliza-se de um tipo de attribute específico (.cs anexo), criado para obter a descrição de cada enumerador (quando tem espaços entre palavras e acentuações).

  • Depois vamos criar nosso GridView com dois campos um para a Key e outro para o Valuedo enumerador.
<asp:GridView ID="gdvPagamento" runat="server" AutoGenerateColumns="False" DataKeyNames="Key" CellPadding="4" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<HeaderStyle CssClass="Header" />
<Columns>
<asp:BoundField DataField="Key" HeaderText="Enum"></asp:BoundField>
<asp:BoundField DataField="Value" HeaderText="Forma De Pagamento" />
</Columns>
<RowStyle CssClass="Row" />
</asp:GridView>
<pre>


  • Neste próximo passo vamos criar o método que irá popular este GridView
private void PopularGrid()        {
 Array formaPagamento = Enum.GetValues(typeof(EnumPagamento));
 DataTable dt = new DataTable();
 dt.Columns.Add("Key");
dt.Columns.Add("Value");
  for (int i = 0; i < formaPagamento.Length; i++)            {
dt.Rows.Add(((EnumPagamento[])(formaPagamento))[i].GetString(),
((EnumPagamento[])(formaPagamento))[i].GetDescription());
  }
 gdvPagamento.DataSource = dt;
 gdvPagamento.DataBind();
}
<pre>


  • Este método irá transformar o Enumerador em um Array. Dentro do for através doGetString() e do GetDescription() (métodos particulares da classe em anexo ) obtenho as informações que necessito para popular as colunas do meu GridView

10

  • Este é o DataTable pronto para ser setado ao DataSource do Gridview

9

  • E este é o resultado Final do nosso Gridview para o Usuário.

2

Simples né?  O que torna simples é conseguir transformar o Enum em Array, depois disso, o resto é café com leite.

E para transformar o Enum em Array ele precisa estar com attributes declarados como segue na classe em anexo que foi a que eu utilizei.

Espero ter ajudado alguns Dev com este artigo.

Até a próxima 🙂

Capturando chaves no GridView utilizando DataKeyNames

O GridView do ASP.Net é um dos componentes web mais ricos  que são utilizados hoje pelos desenvolvedores .Net por possuir inúmeros recursos no tratamento de dados para exibição aos usuários.  Suas propriedades facilitam para os desenvolvedores o manuseio das informações, um dos recursos que iremos ver é o DataKeyNames.

O DataKeyNames é um recurso próprio do GridView para armazenar chaves dos itens que populam um grid, através dele todo e qualquer valor pode ser armazenado de maneira simples ou composta por mais de uma chave.

Para utilizar o DataKeyNames é simples, basta que nas propriedades do grid, seja associado o campo que irá  ser  a chave para identificar o registro no grid.

1

Propriedades no Gridview

Neste exemplo temos um CheckBox e dois campos, nome e idade , para popular o GridView .

2

GridView populado para ilustração do uso do DataKey

Iremos capturar a chave de cada linha que for checada no Gridview. Para isto iremos usar o evento do CheckBox, CheckBox1_CheckedChanged, para cada vez que algum item for checado seja gerado um PostBack, é importante lembrar que a propriedade AutoPostBack do CheckBox deve estar true , dessa maneira no evento do CheckBox será armazenada a minha lista com as chaves das linhas que foram selecionadas.

Seleciono o primeiro item do meu GridView como mostrado abaixo.

3

Primeiro campo é selecionado

Neste momento o evento do CheckBox é chamado, percorro o GridView com um foreach para verificar linha por linha qual o CheckBox que foi selecionado, para então através da propriedadeDataKeys encontrar a chave desta linha. Veja como é exibido na imagem abaixo.

4

Momento de debug o Id sendo capturado pela propriedade DataKeys

Armazeno a chave em uma lista que esta no ViewState com todas as linhas selecionadas.

5

Lista que armazena minhas chaves

Esta lista das linhas selecionadas será usada para alimentar a paginação. Abaixo temos quatro itens da primeira pagina sendo checados.

6

Outras linhas sendo selecionadas

Veja no codebehind como fica a lista que armazena esses quatro itens selecionados acima.

7

Todos as chaves mantidas na lista

Quando a página for trocada e um novo item for checado, como é feito abaixo, esta nova chave é adicionada a lista que esta sendo guardada na ViewState.

8

Nova linha sendo selecionada na segunda página

A lista possui todos os itens que foram checados ate agora, entre a primeira e segunda página.

9

A nova chave é adicionada à lista sem perder as anteriores

Para manter as linhas checadas durante a paginação é necessário que noGridView1_RowDataBound seja controla a lista das linhas que irão ser checadas. Quando na lista existir a chave que pertence àquela linha deve ter o controle CheckBox checado.

10

Momento que a linha é checada quando a chave existe na lista de selecionados

Desta maneira é garantido que ao checar itens e trocar as páginas do GridView, estas informações estarão sendo armazenados e não serão perdidas.

Esta foi um explicação simples e direta de como capturar a chave da linha de um GridView, lembrando que chave pode ser qualquer valor que for declarado no DataKeyNames, nas propriedades do GridView.

Bem, é isso. Espero que seja útil e que eu tenha ajudado com alguma coisa 🙂

É uma informação simples mas que muita gente ainda sofre um pouco por não saber

T++

 

%d blogueiros gostam disto: