Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在回发时将gridview内容复制到数据表_Asp.net_Gridview_Datatable - Fatal编程技术网

Asp.net 如何在回发时将gridview内容复制到数据表

Asp.net 如何在回发时将gridview内容复制到数据表,asp.net,gridview,datatable,Asp.net,Gridview,Datatable,我的项目有一个GridView来显示一些信息。GridView有一些OnRowDataBound处理来处理数据。我要做的是将生成的GridView复制到一个DataTable中,以便生成一个CSV文件。当用户单击按钮时,将生成CSV。因此,GridView出现在屏幕上并填充,然后发生回发。回发时未重新绑定GridView。推荐的方法是什么?这是我目前正在尝试的代码,但我只是以标题和空行结束。调试确认row.Cells[i].文本为空,即使标题正确且包含的行数与我的GridView相同 DataT

我的项目有一个GridView来显示一些信息。GridView有一些OnRowDataBound处理来处理数据。我要做的是将生成的GridView复制到一个DataTable中,以便生成一个CSV文件。当用户单击按钮时,将生成CSV。因此,GridView出现在屏幕上并填充,然后发生回发。回发时未重新绑定GridView。推荐的方法是什么?这是我目前正在尝试的代码,但我只是以标题和空行结束。调试确认row.Cells[i].文本为空,即使标题正确且包含的行数与我的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;
    }
}
DataTable=newdatatable(“导出”);
foreach(myGV.Columns中的DataControlField列)
{
dataTable.Columns.Add(新的DataColumn{ColumnName=column.HeaderText});
}
foreach(myGV.Rows中的GridViewRow行)
{
DataRow DataRow=dataTable.NewRow();
对于(int i=0;i
您需要使用绑定到GridView的数据对象,而不是GridView。绑定后gridview中的数据没有挂钩。

+1@William:附加说明:如果启用(或将启用)分页,DataTable的行将只包含当前可见的DataRows的PageSize编号。因此,建议您在将数据导出到CSV时再次从数据库加载数据。好的,谢谢。我的数据源(一个对象列表)有我不需要的额外字段,GridView OnDataBound事件会在某些时候操纵数据。如果我在回发时重新绑定GridView,我可以访问GridView中的某种内部数据表来制作电子表格吗?我想我的另一个选择是创建一个返回数据表的方法,然后将其用于我的电子表格和GridView。