DataGrid能否直接绑定IList[]?
我想用datagrid绑定得到的IList[],但是始终提醒我“选定数据源上未能找到名称为“Product_id”的字段或属性。”
class RowData
{
public string Product_id;
public string Product_nm;
public RowData(string id,string des)
{
this.Product_id=id;
this.Product_nm=des;
}
}
class RowDataCollection:CollectionBase
{
public int Add(RowData rd)
{
return List.Add(rd);
}
}
class Test
{
private RowDataCollection m_RowDataCollection;
public RowDataCollection RowCollection
{
set{m_RowDataCollection=value;}
get{return m_RowDataCollection;}
}
public void LoadData()
{
this.RowCollection=new RowDataCollection();
this.RowCollection.Add(new RowData("7200","aaaaaa",1111,2222,33,4444,5555,66,7777,88));
this.RowCollection.Add(new RowData("7200","aaaaaa",1111,2222,33,4444,5555,66,7777,88));
this.RowCollection.Add(new RowData("7200","aaaaaa",1111,2222,33,4444,5555,66,7777,88));
}
}
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Test t=new Test();
t.LoadData();
IList[] l=new IList[] {t.RowCollection};
this.DataGrid1.DataSource=l;
this.DataGrid1.DataBind();
}
<asp:DataGrid id="DataGrid1" runat="server" Width="529px" Height="208px" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn HeaderText="a1" DataField="Product_id"></asp:BoundColumn>
<asp:BoundColumn HeaderText="a2" DataField="Product_nm"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
难道我一定要把IList[]转换成dataset中的表,然后把这个dataset作为数据源吗?