GridViewの各行に画像のマトリックスを動的に追加したいと思います。ASP.NET:Gridviewの各行に画像のマトリックスを動的に追加する
public static string PASS = "./Images/pass.png";
はまた、それは(私は内側のGridViewのが右のコントロールであるかどうかわからないんだけどGridViewの内のGridViewのと仮定:私は、行ごとに同じ画像の5×5の行列を望んでいた、とパスがあるとし使用する):
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<asp:ItemTemplate>
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</asp:ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
どのように動的に各行を各行に追加できますか?
EDIT:
[OK]を、ここではスティーブの答えを使用して最初の試みだ、と緩くモデルとしてhttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datalist.items.aspxを以下に示します。私は、GridView内にDataListを動的に追加する方法と、データバインディングをどのように(そしていつ行う)かについて混乱しています。
protected void Page_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("DataList", typeof(DataList));
for (int i = 0; i < 4; i++)
{
DataRow dr = table.NewRow();
DataList1.DataSource = CreateDataSource();
DataList1.DataBind();
table.Rows.Add(dr);
}
GridView1.DataSource = table;
GridView1.DataBind();
}
ICollection CreateDataSource()
{
string imageLocation = "./Images/311.jpg";
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("ImageURL", typeof(string)));
for (int i = 0; i < 25; i++)
{
dr = dt.NewRow();
dr[0] = imageLocation;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DataList ID="DataList1" RepeatColumns="5" runat="server">
<ItemTemplate>
<img src="<%# DataBinder.Eval(Container.DataItem, "ImageURL") %> />
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
私が手に特定の例外がある:
のGridViewのデータソースIDを持つ「GridView1」の列を生成するから、任意のプロパティまたは属性を持っていませんでした。データソースにコンテンツがあることを確認します。
どこが間違っていますか?