ASP .NET – Casos Práticos
Hélder Oliveira helderjmo@gmail.com
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• ConnectionString
• Acesso às configurações
• Ligação à Base de Dados
• DataBind
• Repeater
• Container.DataItem
• Databinder.Eval
• DataList
• GridView
• DetailsView
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Deve ser definida no ficheiro app.config – característico em
aplicações web ASP .NET:
• Exemplo:
<connectionStrings>
<add name="defaultConnectionString"
connectionString="Data
Source=LOCALHOSTSQLEXPRESS;Initial
Catalog=dbtest;Integrated Security=True" />
</connectionStrings>
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• As configurações colocadas no ficheiro app.config podem ser
facilmente acedidas através do uso da classe
ConfigurationManager
• Útil para aceder às Connection Strings aí definidas:
ConfigurationManager.ConnectionStrings
["defaultConnectionString"]
.ConnectionString
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• É normalmente estabelecida com base numa
ConnectionString definida no ficheiro app.config
• Exemplo:
SqlConnection connection = new SqlConnection([...])
• Usa-se o método Open e Close antes e depois de aceder à
base de dados, respectivamente.
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Este é um processo usado nalguns controlos para associar um
conjunto de dados em memória à visualização dos mesmos
num controlo.
• Todas as estruturas de memória que representem colecções
de dados são possíveis de usar num processo de DataBind:
– Exemplos:
• Todo o tipo de Arrays
• ArrayList
• HashTable
• DataSet ou DataTable
• Para visualização dos dados usando DataBind, os controlos
mais comuns são: Repeater, DataList, GridView e DetailsView
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• É o mais simples dos controlos para DataBinding de dados
• Util para casos simples de repetição de items
• Exemplo:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate><b><%# Container.DataItem%></b><br /></ItemTemplate>
</asp:Repeater>
• A propriedade Container.DataItem permite o acesso
aos dados de cada item
• Associação de um simples array de strings ao mesmo
Repeater:
string[] lista = new string[]
{ "item1", "item2", "item3" };
Repeater1.DataSource = lista;
Repeater1.DataBind();
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Container.DataItem é um alias em tempo real para cada item específico
presente na estrutura de dados associada ao controlo. O tipo de dados
devolvido por esta propriedade é determinado pelo tipo de estrutura
associada como fonte de dados (DataSource). Exemplos:
• Como se pode observar, cada tipo de fonte de dados exige uma forma
diferente de especificar o alias para o item dos dados a visualizar. A fim de
evitar esta “preocupação”, poderá ser usado o método Databinder.Eval.
Fonte de dados Código
Array de Strings <%# Container.DataItem %>
DataTable <%# ((DataRow)Container.DataItem)*“coluna"+
DataView <%# ((DataRowView)Container.DataItem)*“coluna"+
Colecção de
elementos
<%# ((Tipo de dados)Container.DataItem).Propriedade %>
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Permite associar cada elemento proveniente da fonte de
dados ao objecto de visualização com uma análise prévia do
tipo de dados. Exemplo:
DataBinder.Eval(Container.DataItem,
“nome_do_campo")
• A expressão anterior pode ainda ser mais simplificada por:
Eval(“nome_do_campo")
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Permite a apresentação dos dados em forma de lista
• Permite funcionalidades como Paging e Sorting
• Exemplo:
<asp:DataList ID="dlUtilizadores" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CommandArgument='<%# DataBinder.Eval(Container.DataItem,
"id_utilizador")%>' OnCommand="LinkButton1_Command"><%#
DataBinder.Eval(Container.DataItem,
"username")%></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Código de inicialização:
SqlDataAdapter da = new
SqlDataAdapter("SELECT * FROM
utilizadores", connection);
DataSet dt = new DataSet();
da.Fill(dt);
dList.DataKeyField = "id_utilizador";
dList.DataSource = dt;
dList.DataBind();
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• Permite a visualização dos dados em forma de tabela
• Ideal para apresentar e editar listas de dados com mais do
que um campo (DataTable’s)
• Permite operações de Edição, Remoção e Selecção de linhas
(Rows) sem especificar uma unica linha de código (ao
contrário da DataGrid, sua antecessora)
Hélder Oliveira helderjmo@gmail.com ASP .NET – Conceitos Básicos
• É também um novo controlo na versão 2.0 da .NET framework
• Util para gestão registo a registo, sobretudo quando se considera
um número elevado de campos
• Permite operações de alteração, remoção ou de adição de dados
• FormView é um controlo que, à semelhança com o DetailsView,
permite mostrar os dados registo a registo, mas, neste caso,
permite criar um modelo personalizado para visualização dos dados

Asp.net.data

  • 1.
    ASP .NET –Casos Práticos Hélder Oliveira helderjmo@gmail.com
  • 2.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • ConnectionString • Acesso às configurações • Ligação à Base de Dados • DataBind • Repeater • Container.DataItem • Databinder.Eval • DataList • GridView • DetailsView
  • 3.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Deve ser definida no ficheiro app.config – característico em aplicações web ASP .NET: • Exemplo: <connectionStrings> <add name="defaultConnectionString" connectionString="Data Source=LOCALHOSTSQLEXPRESS;Initial Catalog=dbtest;Integrated Security=True" /> </connectionStrings>
  • 4.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • As configurações colocadas no ficheiro app.config podem ser facilmente acedidas através do uso da classe ConfigurationManager • Útil para aceder às Connection Strings aí definidas: ConfigurationManager.ConnectionStrings ["defaultConnectionString"] .ConnectionString
  • 5.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • É normalmente estabelecida com base numa ConnectionString definida no ficheiro app.config • Exemplo: SqlConnection connection = new SqlConnection([...]) • Usa-se o método Open e Close antes e depois de aceder à base de dados, respectivamente.
  • 6.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Este é um processo usado nalguns controlos para associar um conjunto de dados em memória à visualização dos mesmos num controlo. • Todas as estruturas de memória que representem colecções de dados são possíveis de usar num processo de DataBind: – Exemplos: • Todo o tipo de Arrays • ArrayList • HashTable • DataSet ou DataTable • Para visualização dos dados usando DataBind, os controlos mais comuns são: Repeater, DataList, GridView e DetailsView
  • 7.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • É o mais simples dos controlos para DataBinding de dados • Util para casos simples de repetição de items • Exemplo: <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate><b><%# Container.DataItem%></b><br /></ItemTemplate> </asp:Repeater> • A propriedade Container.DataItem permite o acesso aos dados de cada item • Associação de um simples array de strings ao mesmo Repeater: string[] lista = new string[] { "item1", "item2", "item3" }; Repeater1.DataSource = lista; Repeater1.DataBind();
  • 8.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Container.DataItem é um alias em tempo real para cada item específico presente na estrutura de dados associada ao controlo. O tipo de dados devolvido por esta propriedade é determinado pelo tipo de estrutura associada como fonte de dados (DataSource). Exemplos: • Como se pode observar, cada tipo de fonte de dados exige uma forma diferente de especificar o alias para o item dos dados a visualizar. A fim de evitar esta “preocupação”, poderá ser usado o método Databinder.Eval. Fonte de dados Código Array de Strings <%# Container.DataItem %> DataTable <%# ((DataRow)Container.DataItem)*“coluna"+ DataView <%# ((DataRowView)Container.DataItem)*“coluna"+ Colecção de elementos <%# ((Tipo de dados)Container.DataItem).Propriedade %>
  • 9.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Permite associar cada elemento proveniente da fonte de dados ao objecto de visualização com uma análise prévia do tipo de dados. Exemplo: DataBinder.Eval(Container.DataItem, “nome_do_campo") • A expressão anterior pode ainda ser mais simplificada por: Eval(“nome_do_campo")
  • 10.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Permite a apresentação dos dados em forma de lista • Permite funcionalidades como Paging e Sorting • Exemplo: <asp:DataList ID="dlUtilizadores" runat="server"> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id_utilizador")%>' OnCommand="LinkButton1_Command"><%# DataBinder.Eval(Container.DataItem, "username")%></asp:LinkButton> </ItemTemplate> </asp:DataList>
  • 11.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Código de inicialização: SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM utilizadores", connection); DataSet dt = new DataSet(); da.Fill(dt); dList.DataKeyField = "id_utilizador"; dList.DataSource = dt; dList.DataBind();
  • 12.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • Permite a visualização dos dados em forma de tabela • Ideal para apresentar e editar listas de dados com mais do que um campo (DataTable’s) • Permite operações de Edição, Remoção e Selecção de linhas (Rows) sem especificar uma unica linha de código (ao contrário da DataGrid, sua antecessora)
  • 13.
    Hélder Oliveira helderjmo@gmail.comASP .NET – Conceitos Básicos • É também um novo controlo na versão 2.0 da .NET framework • Util para gestão registo a registo, sobretudo quando se considera um número elevado de campos • Permite operações de alteração, remoção ou de adição de dados • FormView é um controlo que, à semelhança com o DetailsView, permite mostrar os dados registo a registo, mas, neste caso, permite criar um modelo personalizado para visualização dos dados