ASP.net の GridView でできるように、リストビューで列を動的に生成する方法を教えてもらえますか?
質問する
1930 次
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 に答える