我的项目有一个GridView来显示一些信息。 GridView有一些OnRowDataBound处理来按摩数据。我想要做的是将生成的GridView复制到DataTable中,这样我就可以生成一个CSV文件。用户单击按钮时会生成CSV。因此,GridView在屏幕上并填充并发生PostBack。 GridView没有在PostBack上重新绑定。建议的方法是什么?这是我正在尝试的代码,但我最终得到了标题和空白行。调试确认row.Cells [i] .Text是空的,即使标题是正确的,并且与我的GridView包含的行数相同。
DataTable dataTable = new DataTable("export");
foreach (DataControlField column in myGV.Columns)
{
dataTable.Columns.Add(new DataColumn { ColumnName = column.HeaderText });
}
foreach (GridViewRow row in myGV.Rows)
{
DataRow dataRow = dataTable.NewRow();
for (int i = 0; i < row.Cells.Count; i++)
{
dataRow[myGV.Columns[i].HeaderText] = row.Cells[i].Text;
}
}
答案 0 :(得分:1)
您需要使用绑定到GridView的数据对象,而不是gridview。绑定后,gridview中的数据没有挂钩。