Let's say you have a DataTable like below
DataTable dt = new DataTable();
dt.Columns.Add("Selected", typeof(bool));
dt.Columns.Add("FirstName", typeof(string));
dt.Columns.Add("LastName", typeof(string));
Then you bind it to a DataGridView like this
dataGridView1.DataSource = dt.DefaultView;
In the button click event, you can use the following code
private void button1_Click(object sender, EventArgs e)
{
var selectedRows =
from row in dt.AsEnumerable()
where row.Field<bool>("Selected")
select row;
if (selectedRows.Count() > 0)
{
DataTable boundTable = selectedRows.CopyToDataTable();
dataGridView2.DataSource = boundTable.DefaultView;
}
}
This example is just one of many ways to do it.