2012-04-04 129 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> 

感謝

迪普