如何绑定一个包含object[]类型的数组列表到GridView



我有一个Arraylist,其中所有项目的类型都是object[2]

如何将其绑定到GridView ?

我需要能够在BoundField上设置DataField属性,但我不知道如何使用object[]来做到这一点。

谢谢你的回复!

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();
}

使用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();
}

最新更新