<asp:DataList id='DataList1' runat='server' onItemDataBound='ItemDB'>
<HeaderTemplate >
<table width=100%>
</HeaderTemplate>
<ItemTemplate>
<tr><td>
<asp:Label Runat=server
text=<%#DataBinder.Eval(Container.DataITem, 'Title')%> ID='lblTitle'>
</asp:Label>
<td><asp:Label Runat=server
text=<%#DataBinder.Eval(Container.DataITem, 'LastName')%> ID='lblLastName'>
</asp:Label>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
VB.NET
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
BindTitle()
End If
End Sub
’Bind Data to DataList Populating the Dataset
Sub BindTitle()
Dim ds As New DataSet
Dim sqlStmt As String = 'SELECT * FROM Employees order by title'
Dim conString As String = 'server=localhost;database=Northwind;uid=sa;pwd=;'
Dim myda As SqlDataAdapter = New SqlDataAdapter(sqlStmt, conString)
myda.Fill(ds, 'Table')
DataList1.DataSource = ds
DataList1.DataBind()
End Sub
’The ItemDataBound Event
Protected Sub ItemDB(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
Dim strval As String = CType(e.Item.FindControl('lblTitle'), Label).Text
Dim title As String = ViewState('title')
If title = strval Then
CType(e.Item.FindControl('lblTitle'), Label).Text = ''
e.Item.Visible = False
Else
title = strval
ViewState('title') = title
CType(e.Item.FindControl('lblTitle'), Label).Text = title
e.Item.Visible = True
End If
End If
End Sub
C#
void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
BindTitle();
}
}
void BindTitle()
{
DataSet ds = new DataSet();
string sqlStmt = 'SELECT * FROM Employees order by title';
string conString = 'server=localhost;database=Northwind;uid=sa;pwd=;';
SqlDataAdapter myda = new SqlDataAdapter(sqlStmt, conString);
myda.Fill(ds, 'Table');
DataList1.DataSource = ds;
DataList1.DataBind();
}
protected void ItemDB(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem | e.Item.ItemType == ListItemType.Item)
{
string strval = ((Label)(e.Item.FindControl('lblTitle'))).Text;
string title = ViewState('title');
if (title == strval)
{
((Label)(e.Item.FindControl('lblTitle'))).Text = '';
e.Item.Visible = false;
}
else
{
title = strval;
ViewState('title') = title;
((Label)(e.Item.FindControl('lblTitle'))).Text = title;
e.Item.Visible = true;
}
}
}
Share with