c # - Passerer en formular data til en anden form datagridview

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en fakturaformular med et datagridview. Denne formular indeholder en opdatering sidste billetknap, som åbner et nyt vindue, der beder om at indtaste bill-nummer. Jeg 'henter værdier baseret på regning nummer og vil vise det i en anden form. Hvordan kan jeg videresende tabelværdier fra en formular til en anden form datagridview?


SqlConnection con = new SqlConnection(CS);
                    con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE Bill\_No=@Billno", con);
da.SelectCommand.Parameters.AddWithValue("@Billno", txt\_EnterBillNoPOS.Text);


Jeg vil gemme dette resultat og vise det i en anden form datagridview.

Bedste reference


Hvis jeg forstår dit spørgsmål på den rigtige måde, vil du transportere data fra dig childform tilbage til din Mainform. Til dette formål kan du f.eks. Bruge en ejendom på din barnform (der er mange mulige løsninger). Dette ville se sth. sådan her:


//Your third Form filled with billdata from second Form.
public class ThirdForm : Form
{       
   public ThirdForm(DataTable billData)
   {
      InitializeComponent();
      yourGrid.DataSource = billData;
   }
}

//Your secondform fetch the data and start the thirdform
public class SecondForm : Form
{        
   private void OnUpdateButton\_Clicked(object sender, EventArgs e)
   {
      SqlConnection con = new SqlConnection(CS);
                              con.Open();
      SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE Bill\_No=@Billno", con);
      da.SelectCommand.Parameters.AddWithValue("@Billno", txt\_EnterBillNoPOS.Text);

       DataTable result = new DataTable();
       da.Fill(result); //Fill your Table with data

       //Here you pass the data via Constructor
       var thirdForm = new ThirdForm(result);
       thirdForm.Show();
    }
}

//The firstform which starts your flow by activating secondform
public class FirstForm : Form
{   
    private void OnUpdateLastButton\_Clicked(object sender, EventArgs e)
    {
       var childForm = new SecondForm();
       childForm.Show(); //Shows the second form
    }
}


Dette skal hjælpe dig.