2012-04-04 94 views
0

任何人都可以引导我在列表视图中动态生成列,就像我们可以在ASP.net中为GridView所做的那样?自动生成列的列表视图

+0

有由ListView的支持没有这样的属性。你为什么不想使用GridView? – Pankaj 2012-04-04 08:48:36

+0

@Helper GridView不支持插入数据只是显示和编辑,而不是100%确定这是理由,但它是一个有效的! – Peter 2015-11-20 15:25:42

回答

0

ListView控件没有这样的属性。您可以在下面的代码中生成此代码,而不是对页面中的列进行硬编码。

 class Movie 
     { 
      public string Title {get;set;} 
     } 

     ListView1.DataSource = new List<Movie>() 
     { 
       new Movie {Title = "tEST"}, 
       new Movie {Title = "tEST"}, 
       new Movie {Title = "tEST"}, 
       new Movie {Title = "tEST"} 

     }; 

     ListView1.DataBind(); 

     var columns = new string[] 
     { 
      "Coulmn 1", 
      "Coulmn 2", 
      "Coulmn 3" 
     }; 

     var row = ListView1.FindControl("header") as HtmlTableRow; 

     if (row != null) 
     { 
      foreach (var column in columns) 
      { 
       HtmlTableCell cell = new HtmlTableCell(); 
       cell.InnerText = column; 
       row.Cells.Add(cell); 
      } 
     } 

     <asp:ListView runat="server" ID="ListView1" > 
     <LayoutTemplate> 
     <table runat="server" id="table1" > 
     <tr id="header" runat="server"> 
     </tr> 
     <tr runat="server" id="itemPlaceholder" ></tr> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
    <tr> 
     <td> 
      <asp:Label ID="NameLabel" runat="server" 
      Text='<%#Eval("Title") %>' /> 
     </td> 
    </tr> 
    </ItemTemplate> 
    </asp:ListView> 

感谢

迪普