В моем проекте есть 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;
}
}