http://geekswithblogs.net/dotNETvinz/archive/2009/08/13/bind-datatable-to-datalist-control.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = GetData();
DataList1.DataSource = dt;
DataList1.DataBind();
}
}
private DataTable GetData()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("Column1", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Column2", typeof(String)));
dt.Columns.Add(new System.Data.DataColumn("Column3", typeof(String)));
dr = dt.NewRow();
dr[0] = "Column1 Item A";
dr[1] = "Column2 Item B";
dr[2] = "Column3 Item C";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "Column1 Item AA";
dr[1] = "Column2 Item BB";
dr[2] = "Column3 Item CC";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "Column1 Item AAA";
dr[1] = "Column2 Item BBB";
dr[2] = "Column3 Item CCC";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "Column1 Item AAAA";
dr[1] = "Column2 Item BBBB";
dr[2] = "Column3 Item CCCC";
dt.Rows.Add(dr);
return dt;
}
<asp:DataList ID="DataList1" runat="server">
<HeaderTemplate>
<table>
<tr>
<th style="width:150px" align="left">HEADER 1</th>
<th style="width:150px" align="left">HEADER 2</th>
<th style="width:150px" align="left">HEADER 3</th>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td style="width:150px" align="left"> <asp:Label ID="LabelTest1" Text='<%# DataBinder.Eval(Container.DataItem, "Column1") %>' runat="server" /></td>
<td style="width:150px" align="left"> <asp:Label ID="LabelTest2" Text='<%# DataBinder.Eval(Container.DataItem, "Column2") %>' runat="server" /></td>
<td style="width:150px" align="left"> <asp:Label ID="LabelTest3" Text='<%# DataBinder.Eval(Container.DataItem, "Column3") %>' runat="server" /></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>