2011-10-19 15 views

回答

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和绑定元件经由​​。

<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> 

代码隐藏,因为我在代码中创建GridView的后面添加一个TemplateField将需要大量的代码

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

无法使用第二个方法。第一种方法很好。必须使用以下代码将ArrayList转换为列表:var myList = myArrayList.OfType ().ToList();谢谢 :) –

相关问题