Я хочу, чтобы заполнить 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, без него новые строки не будут добавлены. –
Рад помочь! Я написал код, не тестируя его, но значение 'drow [currColIndex ++] =' drow [#] должно правильно увеличивать индекс в цикле. – jball