Как скопировать содержимое gridview в таблицу данных при обратной передаче - PullRequest
0 голосов
/ 07 июля 2011

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

1 Ответ

1 голос
/ 07 июля 2011

Вам нужно работать с объектом данных, который вы привязываете к GridView, а не к сетке. После привязки данные не отображаются в виде сетки после привязки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...