Neste artigo apresentdo de forma rápida e simples como preencher um Drop Down List (componente do ASP.NET) baseado no desenvolvimento em camadas.
Para o completo entendimento deste assunto, é de extrema importância que você possua conhecimentos sobre Orientação à Objetos e desenvolvimento em camadas. Caso ainda não domine estes conceitos, em um artigo futuro dissertarei sobre estes temas. Outra observação pertinente é o fato de estarmos falando em desenvolvimento para Web. O mesmo processo para applications pode possuir pequenas mudanças (as arquiteturas são diferentes). Muito bem, critérios préviamente estabelecidos, vamos colocar as mãos na massa.
Inserindo o componente Drop Down List na página C#
Em sua camada de visualização, adicione um novo ítem do tipo Página Web. Para isso, vá até sua Solution Explorer, identifique sua camada de visualização (view) e clique com o botão direito do mouse. Na janela que se abre, posicione o mouse sobre a opção “Add new item…” e clique nesta. Na nova janela que se abre selecione a opção “Web Form”. Pronto, uma nova página ASP.NET foi adicionada.
Na página ASP.NET, vá até o canto inferior esquerdo da mesma e selecione a opção “Code”, caso esta ainda não esteja selecionada.
No corpo da página adicione o seguinte código:
<asp:DropDownList ID=”ddlUsuarios” runat=”server” load=”ddlUsuarios_Load”></asp:DropDownList>
Com a linha acima, você acabou de adicionar adicionar em sua página ASP.NET um componente Drop Down List. Alguns detalhes importantes da linha acima devem ser destacados. O trecho ID=”ddlUsuarios” indica que o “nome identificador” do componente é ddlDistritos. Essa informação é importante para que possamos impor ações ou determinar comportamentos do comportamento. O trecho runat=”server” indica que este componente será processado no servidor. O trecho load=”ddlUsuarios_Load” indica que, ao componente ser executado, o evento Load do componente deverá executar o método “ddlUsuarios_Load”.
Criando o método que retorna os usuários do Banco de Dados
Vá até sua camada de negócios (BLL) e adicione uma nova classe (Usuarios.cs).
Na classe Usuarios.cs, vamos criar um método chamado retornaDadosUsuarios. Este método terá como função retornar os dados dos usuários na tabela USUARIOS para o nosso objeto em questão. Muito bem, vamos então codificar nosso método como abaixo:
public
DataTable retornaDadosUsuarios() {
StringBuilder sentencaSQL = new StringBuilder(); //Crio um objeto stringbuilder pra compor a sentença sql
ConfiguracoesBanco objetoBanco = new ConfiguracoesBanco(); // Instancio um objeto da classe Down
sentencaSQL.Append(
"SELECT * FROM USUARIOS ORDER BY IDUSUARIO ASC"); // Monto a sentença sql
try
{
DataTable dtTemp; // Crio um datatable
dtTemp = objetoBanco.retornaTabela(sentencaSQL.ToString()); // Mando para o datatable os usuários retornados
return dtTemp; //retorno o datatable
}
catch (SqlException ex)
{
throw(ex.Message);
}
finally
{
objetoBanco.fechaConexaoBD(); //Fecho a conexao com o Banco de dados
sentencaSQL.Remove(0, sentencaSQL.Length); // Limpo a string da sentença
}
}
Bom, os principais techos do método já estão comentados. Vale a pena notar que na camada Down é necessário, neste caso, dois métodos auxiliares. São eles: retornaTabela() e fechaConexaoBD(). Não vou entrar nos pormenores da implementação de cada um destes métodos, pois não é o objetivo deste artigo. Em artigos futuros devo abordar estes assuntos. Basta saber, por enquanto que, o método retornaTabela() devolve um DataTable e o método fechaConexaoBD() encerra a conexão com o banco de dados.
O método Load
Na página .cs da página aspx, no método Load, adicionamos o seguinte código:
if(!IsPostBack)
{
DataTable dtUsuarios;
Usuarios objUsuario = new Usuarios();
dtUsuarios = objUsuario.retornaDadosUsuarios();
ddlUsuarios.DataSource = dtUsuarios;
ddlUsuarios.DataTextField = "Nome_Usuario";
ddlUsuarios.DataValueField = "IDUSUARIO";
ddlUsuarios.DataBind();
}
Quando o projeto for compilado, o que deve aparecer na tela é o Drop Down List carregado com as informações dos usuários.
Alguns aspectos importantes do método Load. A linha ddlUsuarios.DataSource = dtUsuarios; manda como fonte de dados para o Drop o DataTable retornado no método retornaDadosUsuarios(). Já a linha ddlUsuarios.DataTextField = “Nome_Usuario”; define que o texto que aparecerá no Drop é aquele contido no campo Nome_Usuario da tabela USUARIOS. Na linha ddlUsuarios.DataValueField = “IDUSUARIO”; define como value para cada ítem do Drop os IDs de usuários do banco. Na última linha, temos o método DataBind() que tem a função de preencher o Drop Down List.
Bom pessoal, espero ter ajudado e até a próxima.
Facebook
Twitter
Instagram
LinkedIn
RSS