terça-feira, 10 de fevereiro de 2009

Artigo: Utilizando o GridView.

Este artigo falará como preencher uma GridView a partir de uma classe, ou então selecionando apenas alguns dados específicos dos dados retornados. Isso também poderá ser feito com dados sendo retornados do banco e preenchendo uma List de determinada classe.
Sei que o Visual Studio possui um assistente, que facilita e muito as coisas, porém há casos que não há maneira de fazer pelo assitente, ou então o seu chefe não quer utilizá-lo, para que assim o seu código fique mais independente, nesse caso é que esta postagem terá efeito.

Pra começar inicie um novo Asp.Net Web Application.

Feito isso arraste um GridView para seu WebForm.

Abaixo o código da classe que preencherá o GridView:

public class DataAccess {

public string Nome { get; set; }

public string Sobrenome { get; set; }

public int Idade { get; set; }

public DataAccess( string n, string s, int i) {

this.Nome = n;

this.Sobrenome = s;

this.Idade = i;

}

}

Agora no codebehind do WebForm adicionarei o código para preencher um List, para ver mais sobre List<> leia a postagem de Mateus Melo.

public partial class _Default : System.Web.UI.Page {

protected void Page_Load( object sender, EventArgs e ) {

List<DataAccess> lista = new List<DataAccess>( );

lista.Add( new DataAccess( "Zé", "Do Pulo", 40 ) );

lista.Add( new DataAccess( "João", "Sem Braço", 15 ) );

lista.Add( new DataAccess( "Maria", "Aparecida", 25 ) );

this.GridView1.DataSource = lista;

this.GridView1.DataBind( );

}

}

Feito isso o resultado será esse:

Agora suponhamos que você queira apenas mostrar o nome:

De um clique no seu GridView e escolhe Add New Column:

Na janela que abre, escolha BoundField para field type, coloque o nome que quiser para Header Text, porém o nome de Data Field terá que ser o mesmo da propriedade de sua classe, isso só funcionará com propriedade:

Para que o GridView não gere colunas automáticas de um clique no GridView, vá em propriedades e em AutoGenerateColumns coloque falso:

Pronto, agora seu resultado será esse:

Espero ter ajudado, até a próxima.

Um comentário: