Click here to Skip to main content
13,200,202 members (56,607 online)
Rate this:
 
Please Sign up or sign in to vote.
See more:
Hi All,

I have two forms Form1(DGV1) and Form2(DGV2) with Datagridview control on both the forms.

On Form1 there is a button link to Form2 where user can add rows to Form1 datagridview(DGV1)
..In Form2 Datagridview there is a checkbox in the first column and the user can select only one row at a time.So there are two button on Form2 1) Done 2) Add Items

When user clicks on Add Items by selecting the rows one after another the rows must be added to the datagridview on Form1 and when Done button is clicked Form 1 should be displayed with all the rows that are added.

int index = objQM.gvItemDetails.Rows.Add();
int Sno = index + 1;
string Desc = gvInventory.Rows[RowIndex].Cells[6].Value.ToString();
int Sellqty = LoadSellQty();
 decimal UnitCost = Convert.ToDecimal(gvInventory.Rows[RowIndex].Cells[8].Value.ToString());
 decimal Amount = LoadSellQty() * UnitCost;
 objQM.gvItemDetails.Rows.Insert(index,false, Sno, Desc, Sellqty, UnitCost, Amount);


I am able to add one row into Form1 datagridview but when the second row is added the row which was added earlier is lost.

Can you please suggest a way to solve this.

Thank you.
Posted 6-Feb-13 22:33pm
Comments
CHill60 7-Feb-13 6:33am
   
how are you "showing" form1 ... is your Done button creating a new instance everytime?
Prathap Gangireddy 7-Feb-13 14:25pm
   
I have resolved the issue.Below is my code. int index= objQM.gvItemDetails.Rows.Add();
DataGridViewRow row = (DataGridViewRow)objQM.gvItemDetails.Rows[index];
decimal UnitCost = Convert.ToDecimal(gvInventory.Rows[RowIndex].Cells[8].Value.ToString());
row[0] = false;
row[1] = 1;
row[2] = gvInventory.Rows[RowIndex].Cells[6].Value.ToString();
row[3] = LoadSellQty();
row[4] = Convert.ToDecimal(gvInventory.Rows[RowIndex].Cells[8].Value.ToString());
row[5] = LoadSellQty() * UnitCost;
row[7] = Convert.ToInt32(gvInventory.Rows[RowIndex].Cells[1].Value.ToString());
Prathap Gangireddy 7-Feb-13 14:29pm
   
Can anyone suggest a workaround to validate if the same row is added into DGV1 on Form1 when AddItems button is clicked on Form2.I mean no duplicate rows must be added.
Prathap Gangireddy 8-Feb-13 2:06am
   
<pre lang="xml">Hi ,

I have solved the problem.

ItemID is a unique column in the grid so used that to check whether an additional row is added.

objQM.gvItemDetails.Rows.Cast<DataGridViewRow>().Count(c => c.Cells[7].EditedFormattedValue.ToString() == ItemID) > 0)

one more problem is..Suppose I have added a row to the Form1 datagridview from Form2 by clicking AddItems button ..then Done button.Suppose I wanted to add another row by clicking on the link button in Form1 which takes me to Form2..Now the gridview gets empty and a completely new row is added.So i want to know how if ROW1 is added to Form1 DGV and clicked on DONE button...and again if I want to add another row ROW2.Both Row1 and Row2 shud exist but that is not happening.How to achieve this.</pre>

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

Hi ,
 
I have solved the problem.
 
ItemID is a unique column in the grid so used that to check whether an additional row is added.
 
objQM.gvItemDetails.Rows.Cast<DataGridViewRow>().Count(c => c.Cells[7].EditedFormattedValue.ToString() == ItemID) > 0)
 
one more problem is..Suppose I have added a row to the Form1 datagridview from Form2 by clicking AddItems button ..then Done button.Suppose I wanted to add another row by clicking on the link button in Form1 which takes me to Form2..Now the gridview gets empty and a completely new row is added.So i want to know how if ROW1 is added to Form1 DGV and clicked on DONE button...and again if I want to add another row ROW2.Both Row1 and Row2 shud exist but that is not happening.How to achieve this.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy |
Web02 | 2.8.171020.1 | Last Updated 15 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100