【发布时间】:2011-07-06 20:23:35
【问题描述】:
我的项目有一个 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;
}
}
【问题讨论】:
标签: asp.net gridview datatable