0

ASP.net の GridView でできるように、リストビューで列を動的に生成する方法を教えてもらえますか?

4

1 に答える 1

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>

ありがとう

ディープ

于 2012-04-04T09:07:29.113 に答える