如何使用ArrayList/Hashtable绑定DataGrid/DataList/Reapter ?
这些控件是BaseDataList类派生的控件,而数据源DataSource必须是实现了System.Collections.IEnumerable 接口(如 System.Data.DataView、System.Collections.ArrayList 和 System.Collections.Hashtable)的对象。
DataView绑定的例子我就不说了,简单写一下如何使用ArrayList和Hashtable。
前台:
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Container.DataItem %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
Key:<%# DataBinder.Eval(Container.DataItem,"Key") %>
Value:<%# DataBinder.Eval(Container.DataItem,"Value") %><br>
</ItemTemplate>
</asp:DataList>
后台:
private void Page_Load(object sender, System.EventArgs e)
{
ArrayList al = new ArrayList();
al.Add("我是中国人!!!");
al.Add("我热爱自己的祖国!!!");
DataGrid1.DataSource = al;
DataGrid1.DataBind();
Hashtable ht = new Hashtable();
ht.Add("陈水扁","白痴");
ht.Add("吕秀莲","无赖");
DataList1.DataSource = ht;
DataList1.DataBind();
}