実行時に列数が変化する listView を作成する必要があります。
私のaspxページコード:
<asp:ListView runat="server" ID="ReportListView">
<LayoutTemplate>
<table>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder" />
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<table>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1" />
</tr>
</table>
</ItemTemplate>
</asp:ListView>
ItemTemplate では、コード ビハインドから列を動的にバインドする必要があります。
私の .cs ページ コード:
SqlCommand cmd = new SqlCommand(query);
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
ReportListView.DataSource = ds;
ReportListView.DataBind();
}
}
}
foreach (ListViewDataItem listItem in ReportListView.Items)
{
PlaceHolder plc = (PlaceHolder)listItem.FindControl("itemPlaceHolder1");
if (plc != null)
{
Literal ltrl = new Literal();
ltrl.Text = "<td>" + listItem.DataItem + "</td>";
plc.Controls.Add(ltrl);
}
}
しかし、ブラウザには何も返されません。エラーも出力もありません....
助言がありますか......