Try like this..
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = somedataSource();
datalist.DataSource = dt;
datalist.DataBind();
}
protected void datalist_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
Label lbl = (Label)e.Item.FindControl("lbl");
int count = ((datalist.DataSource) as DataTable).Rows.Count;
lbl.Text = count + " Records found";
}
}
aspx
<asp:DataList ID="datalist" runat="server"
onitemdatabound="datalist_ItemDataBound">
<HeaderTemplate>
<asp:Label ID="lbl" Text="header" runat="server"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
some controls
</ItemTemplate>
</asp:DataList>