如何将gridView行添加到dataTable?

时间:2013-07-08 18:02:01

标签: c# asp.net gridview datatable

这不起作用:

var originalFinalShowsTable = Session["finalShowsTable"] as DataTable;

DataTable finalShowsTable = new DataTable();

finalShowsTable = originalFinalShowsTable.Clone();

foreach (GridViewRow gvr in gvShows.Rows)
{
    if (gvr.RowType == DataControlRowType.DataRow)
    {
         if (((CheckBox) gvr.FindControl("cbSelect")).Checked)
         {
               finalShowsTable.Rows.Add(gvr);
         }
     }
}

它正在做的是将文本"System.Web.UI.WebControls.GridViewRow"放入数据表的第一列。

1 个答案:

答案 0 :(得分:2)

试试这个:

DataTable finalShowsTable = new DataTable();

    finalShowsTable = originalFinalShowsTable.Clone();

    foreach (GridViewRow gvr in gvShows.Rows)
    {
        if (gvr.RowType == DataControlRowType.DataRow)
        {
             if (((CheckBox) gvr.FindControl("cbSelect")).Checked)
             {
                    DataRow dr= finalShowsTable.NewRow();
                     for (int i = 0; i < gvr.Cells.Count - 1; i++)
                     {
                         dr[i] = row.Cells[i].Text;
                     }

                     finalShowsTable.Rows.Add(dr);
             }
         }
    }