我有一个Arraylist
,其中所有项目都属于object[2]
类型。
如何将其绑定到GridView?
我需要能够在DataField
上设置BoundField
属性,但我不知道如何使用object[]
进行设置。
感谢您的回复!
答案 0 :(得分:1)
Linq
生成匿名对象列表。
if (!IsPostBack)
{
List<object[]> list = new List<object[]>();
list.Add(new object[] {11,22 });
list.Add(new object[] { 21, 32 });
var result = from ar in list
select new
{
Data1=ar[0].ToString(),
Data2=ar[1].ToString()
};
GridView1.DataSource = result.ToList();
GridView1.DataBind();
}
OR
使用TemplateField
并通过Eval()
绑定元素。
<asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Literal
ID="lit1"
runat="server"
Text='<%#Eval("[0]") %>' />
<asp:Literal
ID="lit2"
runat="server"
Text='<%#Eval("[1]") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
代码隐藏,
if (!IsPostBack)
{
List<object[]> list = new List<object[]>();
list.Add(new object[] {11,22 });
list.Add(new object[] { 21, 32 });
GridView1.DataSource = list;
GridView1.DataBind();
}