1
我想填充下面的图像的GridView:填充gridview的细胞通过细胞
<asp:GridView ID="GrdDynamic" runat="server" AutoGenerateColumns="False">
<Columns>
</Columns>
</asp:GridView>
通过目录下迭代的代码,然后我收集影像标题,并希望他们在GridView控件来填充。粗体代码工作不正常,gridview只填充列表中的最后一个图像。
List<string> imagelist = new List<string>();
protected void Page_Load(object sender, EventArgs e)
{
foreach (String image in Directory.GetFiles(Server.MapPath("example/")))
{
imagelist.Add("~/example/" + Path.GetFileName(image));
}
loadDynamicGrid(imagelist);
}
private void loadDynamicGrid(List<string> list)
{
DataTable dt = new DataTable();
DataColumn dcol = new DataColumn(NAME, typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn("NAME1", typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn("NAME2", typeof(System.String));
dt.Columns.Add(dcol);
dcol = new DataColumn("NAME3", typeof(System.String));
dt.Columns.Add(dcol);
DataRow drow = dt.NewRow();
dt.Rows.Add();
dt.Rows.Add();
**for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
foreach (string value in list)
{
dt.Rows[i][j] = value;
}
}
}**
foreach (DataColumn col in dt.Columns)
{
ImageField bfield = new ImageField();
bfield.DataImageUrlField = NAME;
bfield.HeaderText = col.ColumnName;
GrdDynamic.Columns.Add(bfield);
}
GrdDynamic.DataSource = dt;
GrdDynamic.DataBind();
}
如何使用可用数量的图像填充gridview逐个单元格?
我知道这很容易,我尝试过各种方法,如:dt.Rows.Add(list);
和其他一些尝试,但他们没有工作。我很愚蠢。 我很乐意提供任何帮助。
确实!非常整洁的解决方案!非常感谢你!这对我帮助很大。我只想添加一点点评论。您忘记将currColIndex ++放入foreach循环中,而不会添加新行。 – 2010-03-09 18:56:28
很高兴帮助!我没有测试过编写代码,但是'drow [currColIndex ++] = value;'应该正确地增加循环中的索引。 – jball 2010-03-10 00:03:08