Hi shabzo,
I have created a sample which full fill your requirement you need to modify the code according to your need.
Refer below sample code.
Form1.cs
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
BindDataGrid();
}
public void BindDataGrid()
{
this.dataGridView1.DataSource = null;
this.dataGridView1.Columns.Clear();
this.dataGridView1.ColumnCount = 7;
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.Columns[0].Name = "ProdCode";
this.dataGridView1.Columns[0].HeaderText = "ProdCode";
this.dataGridView1.Columns[0].DataPropertyName = "ProdCode";
this.dataGridView1.Columns[0].Width = 100;
this.dataGridView1.Columns[1].HeaderText = "Product";
this.dataGridView1.Columns[1].Name = "Product";
this.dataGridView1.Columns[1].DataPropertyName = "Product";
this.dataGridView1.Columns[1].Width = 160;
this.dataGridView1.Columns[2].HeaderText = "t1";
this.dataGridView1.Columns[2].Name = "t1";
this.dataGridView1.Columns[2].DataPropertyName = "t1";
this.dataGridView1.Columns[2].Width = 1;
this.dataGridView1.Columns[2].Visible = false;
this.dataGridView1.Columns[3].HeaderText = "Pack";
this.dataGridView1.Columns[3].Name = "Pack";
this.dataGridView1.Columns[3].DataPropertyName = "Pack";
this.dataGridView1.Columns[3].Width = 50;
this.dataGridView1.Columns[4].HeaderText = "t2";
this.dataGridView1.Columns[4].Name = "t2";
this.dataGridView1.Columns[4].DataPropertyName = "t2";
this.dataGridView1.Columns[4].Width = 1;
this.dataGridView1.Columns[4].Visible = false;
this.dataGridView1.Columns[5].Name = "Qty";
this.dataGridView1.Columns[5].HeaderText = "Qty";
this.dataGridView1.Columns[5].DataPropertyName = "Qty";
this.dataGridView1.Columns[5].Width = 50;
this.dataGridView1.Columns[6].Name = "WSale";
this.dataGridView1.Columns[6].HeaderText = "WSale";
this.dataGridView1.Columns[6].DataPropertyName = "WSale";
this.dataGridView1.Columns[6].Width = 58;
this.dataGridView1.Columns[6].DefaultCellStyle.Format = "0.00##";
dt.Columns.AddRange(new DataColumn[] { new DataColumn("ProdCode")
,new DataColumn("Product")
,new DataColumn("t1")
,new DataColumn("Pack")
,new DataColumn("t2")
,new DataColumn("Qty")
,new DataColumn("WSale")
});
dt.Rows.Add("ProdCode 1", "Product 1", "t1 1", "Pack 1", "t2 1", 1, "WSale 1");
dt.Rows.Add("ProdCode 2", "Product 2", "t1 2", "Pack 2", "t2 2", 0, "WSale 2");
dt.Rows.Add("ProdCode 3", "Product 3", "t1 3", "Pack 3", "t2 3", 3, "WSale 3");
dt.Rows.Add("ProdCode 4", "Product 4", "t1 4", "Pack 4", "t2 4", 0, "WSale 4");
dt.Rows.Add("ProdCode 5", "Product 5", "t1 5", "Pack 5", "t2 5", 5, "WSale 5");
this.dataGridView1.DataSource = dt;
}
private void button1_Click(object sender, EventArgs e)
{
DataView dw = new DataView(dt);
string[] cols = { "ProdCode", "Product", "t1", "t2", "Pack", "Qty", "WSale" };
DataTable dt1 = dw.ToTable(true, cols);
DataTable filtereRecord = (from DataRow dr in dt1.Rows
where dr["Qty"].ToString() != "0"
select dr).CopyToDataTable();
if (filtereRecord.Rows.Count > 0)
{
Form2 f = new Form2(filtereRecord);
f.ShowDialog();
}
else
{
MessageBox.Show("Select atleast one record");
}
}
Form2.cs
public Form2(DataTable dt)
{
InitializeComponent();
this.dataGridView1.DataSource = dt;
}
ScreenShot