如何用foreach循环填充GridView?填充后无显示问题求助
问题原因
你的GridView1.Rows集合初始为空,foreach循环没遍历到任何行,赋值操作根本没执行,所以GridView没内容显示。
解决方法
方法1:手动创建行再修改
先给GridView添加行,之后再修改单元格内容:
// 创建一行数据行 GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal); // 创建单元格并加入行中 TableCell cell = new TableCell(); row.Cells.Add(cell); // 将行添加到GridView GridView1.Rows.Add(row); // 现在遍历修改内容 foreach (GridViewRow r in GridView1.Rows) { string f = "this is looping"; r.Cells[0].Text += f; }
方法2:绑定数据源(更规范)
如果需要多行数据,推荐先准备数据源绑定,再修改内容:
// 准备数据源示例 List<string> dataList = new List<string>(); dataList.Add(""); // 添加空项生成一行,需要多行就加多个元素 // 绑定数据源到GridView GridView1.DataSource = dataList; GridView1.DataBind(); // 遍历修改单元格内容 foreach (GridViewRow r in GridView1.Rows) { string f = "this is looping"; r.Cells[0].Text += f; }
注意事项
- 若需多行,只需在数据源中添加更多元素,或手动创建多行添加至
GridView1.Rows。 - 确保代码在ASP.NET页面生命周期的合适阶段执行(比如
Page_Load),回发场景下注意是否需要重新绑定数据。
内容的提问来源于stack exchange,提问作者user20465780
相关产品推荐
相关产品推荐

