Olá pessoal, neste artigo veremos alguns exemplos práticos com os controles existentes da aba Data, que foram apresentados nos artigos anteriores. Acompanhem:
Como já tenho feito em outros artigos exemplos práticos com os controles GridView, DataList e DetailsView (clique em cada um deles para ver os exemplos), irei me focar neste artigo nos controles FormView, ListView, Repeater e DataPager.
Deixei os controles DataSource de fora, pois irei fazer uma série de artigos com eles, já que seus exemplos práticos ficariam extensos neste artigo.
Dito isto, crie um ASP.NET Web Site, dando o nome ControlesASPNETData, e arraste pra Default.aspx o controle SqlDataSource.
Inicialmente vamos definir uma tabela para realizarmos nossas consultas. Crie um database qualquer, e após isso, crie a tabela Pedidos, como na imagem abaixo:
Lembre-se de deixar a coluna Id como Primary Key e com a opção Identity Specification com o valor Yes. Aproveite e insira alguns registros, abrindo o Server Explorer, clicando com o botão direito nesta tabela e clicando em Show Table Data.
Tabela criada, arraste para a página o controle FormView e um SqlDataSource e faça a configuração padrão para atribuir o Database que você criou ao SqlDataSource, para que tenhamos nossa fonte de dados carregada.
Defina um layout para seu FormView, abra sua SmartTag, clique na opção Enable Paging (para habilitar a paginação), aperte F5 para compilar e veja o resultado:
Desta forma, navegamos pelos registros do banco.
Agora arraste para a página o controle ListView e vincule o SqlDataSource à ele. Agora abra a SmartTag e clique em Configure ListView, irá aparecer a tela abaixo:
Aplique a formatação que desejar e clique em OK. Aperte F5 para compilar e veja o resultado:
Neste exemplo escolhi o layout Grid, que fica igual ao clássico GridView.
Continuando nossos controles, agora arraste para a página o controle Repeater.
Como o Repeater trabalha com Templates (se você não defini-los na aspx de seu controle o Repeater não ficará visível em sua página) temos que cria-los e vincular seu DataSource ao SqlDataSource.
Para o exemplo ficar simples, vamos retornar apenas os campos Descricao e Quantidade. Inicialmente vá à página de códigos e crie o método abaixo:
private void CarregaDadosRepeater()
{
string strConexao = @"Data Source=WELLINGTON-PC\SQLEXPRESS;Initial Catalog=Vendas;Integrated Security=True;Pooling=False";
string strInstrucao = "SELECT DESCRICAO, QUANTIDADE FROM PEDIDOS";
using (SqlConnection objConexao = new SqlConnection(strConexao))
{
using (SqlCommand objCommand = new SqlCommand(strInstrucao, objConexao))
{
objCommand.Connection = objConexao;
objConexao.Open();
SqlDataReader objReader = objCommand.ExecuteReader();
Repeater1.DataSource = objReader;
Repeater1.DataBind();
}
}
}
Não vou entrar na questão do uso do ADO.NET porque esse não é o foco do artigo
No Page_Load chame o método:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
CarregaDadosRepeater();
}
}
Agora altere o aspx do Repeater para o seguinte:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table cellpadding="1" cellspacing="1" border="0" style="font: 10pt verdana">
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td bgcolor="Red">
<b>Descrição</b>
</td>
<td bgcolor="Red">
<b>Quantidade</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr bgcolor="Gray">
<td>
<b>
<%# DataBinder.Eval(Container.DataItem, "Descricao") %>
</b>
</td>
<td>
<b>
<%# DataBinder.Eval(Container.DataItem, "Quantidade") %>
</b>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
Assim nosso Repeater está configurado para exibir os campos por meio da sintaxe Container, que é a representação da fonte de dados desse exemplo (com ela recuperamos as colunas do banco).
Aperte F5 para compilar e veja o resultado:
Para uma explicação detalhada sobre Repeater, veja este artigo.
Finalizando nossos exemplos práticos, arraste para a página o controle DataPage. Aperte F4 sobre o controle para ir às propriedades dele. Em PagedControlID selecione o ListView1, e em PageSize deixe com 3, como abaixo:
Agora é só escolher uma das duas formas de paginação pela SmartTag do controle e apertar F5 para compilar a aplicação. Veja o resultado:
Assim finalizo o artigo. Muito obrigado a todos!
Um abraço, e até o próximo artigo
Wellington Balbo de Camargo