Este é o componente mais ágil, leve e simples para exibição de dados vindos de um banco de dados. Por isso ele deixa muito a desejar se for comparado com um DataGrid mas compensa na facilidade de sua utilização.
Note que por sua simplicidade muitas vezes complica se você precisar de certo recurso. Por exemplo, se você está usando paginação no DataGrid é bem simples mas no DataList é bem mais complexo.
A formatação deste elemento é influenciada pelos estilos do bootstrap.
O datalist está divido nas seguintes partes :
1-Header - Define o estilo do Cabeçalho
2-Item ou ítens - Define o estilo das Colunas do DataList - Exibe a informação.
3-AlternateItem - Define o estilo do Item alternado - Permite definir alternância de cores entre linhas-zebrado
4-EditItem - Define o estilo quando um item está sendo editado
5-SelectedItem - Define o estilo para quando o item está selecionado
6-Separator - Define o estilo dos separadores dos itens
7-Footer - Define o estilo do Rodapé do controle
Parâmetros :
1 - Border : É a borda mais externa da lista, não atua dentro dos itens da lista.
Utilizei o módulo mysql para acessar as funções do banco de dados mysql.
O código abaixo foi inserido na página aspx.
<form id="form1" runat="server">
<asp:Label ID="lblmsg" runat="server" Text="" ForeColor="Red"></asp:Label>
<div class="centraliza" style="margin-left:30%;margin-right:20%">
<asp:DataList
id="Pessoas"
runat="server"
gridlines ="Both"
RepeatColumns="1"
CellPadding="3"
CellSpacing="2"
Font-Name="Arial"
Font-Size="12pt"
AlternatingItemStyle-BackColor="LightGray"
HeaderStyle-BackColor="LightSkyBlue"
HeaderStyle-ForeColor="White"
HeaderStyle-HorizontalAlign="Center"
BorderStyle="Solid"
BorderWidth="3"
HeaderStyle-BorderColor="LightSalmon"
FooterStyle-BackColor="LightPink"
FooterStyle-HorizontalAlign="Center">
<ItemTemplate>
<table border="0"">
<tr>
<td style="width:20px;"><%# DataBinder.Eval(Container.DataItem, "ID") %></td>
<td style="width:280px;"><%# DataBinder.Eval(Container.DataItem, "nome") %></td>
<td style="width:150px;"><%# DataBinder.Eval(Container.DataItem, "dtNasc") %></td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate><span class="centraliza">Clientes</span></HeaderTemplate>
<FooterTemplate>Clientes da Loja A</FooterTemplate>
</asp:DataList>
</div>
</form>
O código abaixo foi inserido na página .aspx.vb.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sql As String = ""
Dim ds As DataSet
DefStrConexao() 'definindo o string de conexão
If System.Web.HttpContext.Current.Session("erro") <> "" Then
lblmsg.Text = "Erro na definição do str de conexão : " + System.Web.HttpContext.Current.Session("erro")
End If
sql = "select * from pessoas limit 50"
ds = BDDS(sql)
If System.Web.HttpContext.Current.Session("erro") <> "" Then
lblmsg.Text = System.Web.HttpContext.Current.Session("erro")
Else
Pessoas.DataSource = ds
Pessoas.DataBind()
End If
End Sub