2011-11-17 57 views
0

我有一个List<Collection<string>>对象,其中有10,000个对象,我想将这些字符串显示为报表(在网格视图中),但将对象直接绑定到网格生成我没有结果。任何人都可以帮我解决如何将字符串集合作为不同的列与我需要的标题名称绑定。绑定列表<Collection <string>>在asp.net中的网格视图

回答

3

您可以使用[]索引来绑定dataSource(List of string/array)项目。

标记:

<asp:GridView ID="GridView1" 
       runat="server" 
       AutoGenerateColumns="False"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Literal 
         ID="Literal1" 
         runat="server" 
         Text='<%#Eval("[0]") %>' 
         > 
       </asp:Literal> 
       <asp:Literal 
         ID="Literal2" 
         runat="server" 
         Text='<%#Eval("[1]") %>' 
         > 
       </asp:Literal> 
       <asp:Literal 
         ID="Literal3" 
         runat="server" 
         Text='<%#Eval("[2]") %>' 
         > 
       </asp:Literal> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

后面的代码:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     List<List<string>> list = new List<List<string>>() 
     { 
       new List<string>() {"A","B","C" }, 
       new List<string>() { "P","Q","R"} 
     }; 
     GridView1.DataSource = list; 
     GridView1.DataBind(); 
    } 
} 
+0

其工作:)非常感谢你 –

+0

,但它显示在不同的列不同的字符串doent工作,它显示在同一列的所有字符串? –

+1

@vinaysingri - 使用TempleteField列。 – adatapost