将某些DataGridViewRow复制到新的DataTable

时间:2017-12-10 23:21:48

标签: c# datagridview datatable

我想将BackgroundColor = Green的所有行复制到新的DataTable。我尝试了以下语法,但是我收到错误

  

无法转换System.Windows.Forms.DataGridViewRow'到' System.Data.DataRow'

编写此synatx的正确方法是什么?

foreach (DataGridViewRow dr in dgvMain.Rows)
{
    if (dr.DefaultCellStyle.BackColor == System.Drawing.Color.Green)
    {
        ApprovedDTable.ImportRow(dr);
    }
}

修改
这是用dr带下划线的

引发错误的代码行
ApprovedDTable.ImportRow(dr);

1 个答案:

答案 0 :(得分:0)

我认为这种语法符合您的需求

foreach (DataGridViewRow row in this.dgvMain.Rows)
{
    if (row.DefaultCellStyle.BackColor == Color.Green)
    {
        object[] rowData = new object[row.Cells.Count];
        for (int i = 0; i < rowData.Length; ++i)
        {
            rowData[i] = row.Cells[i].Value;
        }
        ApprovedDTable.Rows.Add(rowData);
    }
}
相关问题