2012-04-04 15 views
0

誰かが私たちがASP.netのGridViewのために行うことができるように、リストビューで列を動的に生成することができますか?列を自動生成するリストビュー

+0

ListViewコントロールでサポートされているそのようなプロパティはありません。なぜGridViewを使いたくないのですか? – Pankaj

+0

@Helper GridViewでは、表示と編集だけでデータを挿入することはできません。理由は100%ではありませんが、それは有効なものです。 – Peter

答えて

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> 

おかげ

ディープ

関連する問題