Hi shabzo,
Refer the below sample.
Form1
public partial class Form1 : Form
{
private const string ConnectionString = @"Data Source=.;DataBase=Test;UID=sa;PWD=123";
public Form1()
{
InitializeComponent();
//Set Columns Count
dataGridView1.ColumnCount = 3;
//Hide the last blank line
dataGridView1.AllowUserToAddRows = false;
//Add Columns
dataGridView1.Columns[0].Name = "CustomerId";
dataGridView1.Columns[0].HeaderText = "CustomerId Id";
dataGridView1.Columns[0].DataPropertyName = "CustomerId";
dataGridView1.Columns[0].Width = 100;
dataGridView1.Columns[1].HeaderText = "Name";
dataGridView1.Columns[1].Name = "Name";
dataGridView1.Columns[1].DataPropertyName = "Name";
dataGridView1.Columns[1].Width = 100;
dataGridView1.Columns[2].Name = "Country";
dataGridView1.Columns[2].HeaderText = "Country";
dataGridView1.Columns[2].DataPropertyName = "Country";
dataGridView1.Columns[2].Width = 100;
DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
checkBoxColumn.HeaderText = "";
checkBoxColumn.Width = 30;
checkBoxColumn.Name = "checkBoxColumn";
dataGridView1.Columns.Insert(0, checkBoxColumn);
using (SqlConnection con = new SqlConnection(ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers", con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
dataGridView1.DataSource = dt;
}
}
}
}
}
private void btnSend_Click(object sender, EventArgs e)
{
List<DataGridViewRow> selectedRows = (from row in dataGridView1.Rows.Cast<DataGridViewRow>()
where Convert.ToBoolean(row.Cells["checkBoxColumn"].Value) == true
select row).ToList();
Form2 f = new Form2(selectedRows);
f.ShowDialog();
}
}
Form2
public partial class Form2 : Form
{
public Form2(List<DataGridViewRow> selectedRow)
{
InitializeComponent();
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] {
new DataColumn("Id", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Country", typeof(string)) });
foreach (DataGridViewRow row in selectedRow)
{
dt.Rows.Add(row.Cells["CustomerId"].Value, row.Cells["Name"].Value, row.Cells["Country"].Value);
}
dataGridView1.DataSource = dt;
}
}
Screenshot