<< Click to Display Table of Contents >> ListView - Usando LayoutTemplade e ItemSeparator |
![]() ![]() ![]() |
Página
Default.aspx
<form id="form1" runat="server">
<div>
<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound">
<LayoutTemplate>
<h3>Lista de Pessoas</h3>
<blockquote>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</blockquote>
</LayoutTemplate>
<ItemSeparatorTemplate>
<hr />
</ItemSeparatorTemplate>
<ItemTemplate>
Grupo: <b>
<asp:Label ID="lblGrupo" runat="server">Grupo</asp:Label>
</b>Código: <b>
<asp:Label ID="lblCodigo" runat="server">Código</asp:Label></b> Nome: <b>
<asp:Label ID="lblNome" runat="server">Nome</asp:Label></b>
<br />
</ItemTemplate>
</asp:ListView>
</div>
</form>
Default.aspx.cs
using System;
using System.Data;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ListView1.DataSource = Dados.GetDados();
ListView1.DataBind();
}
}
protected void ListView1_ItemDataBound(object sender, System.Web.UI.WebControls.ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// pega o dataItem corrente
ListViewDataItem currentItem = (ListViewDataItem)e.Item;
// pegar os labels
Label lblGrupo = (Label)e.Item.FindControl("lblGrupo");
Label lblCodigo = (Label)e.Item.FindControl("lblCodigo");
Label lblNome = (Label)e.Item.FindControl("lblNome");
// transforma o DataItem do currentItem em um DataRowView
DataRowView drv = (DataRowView)currentItem.DataItem;
// joga paras as labels os valores
lblGrupo.Text = drv["Grupo"].ToString();
lblCodigo.Text = drv["Codigo"].ToString();
lblNome.Text = drv["Nome"].ToString();
}
}
}