Avatar billede lasserasch Juniormester
16. juli 2006 - 14:03 Der er 3 kommentarer og
1 løsning

Opdatere et grid i fra anden form.

Hejsa.

Jeg har lige et lille spørgsmål, det er sikkert simpelt nok når man lige ved det!

Jeg har 2 forms.

Den første form indeholder et grid, hvor en kundedatabase listes i.

Man kan så vælge en kunde fra dette grid, og trykke på en rediger knap.

Nu åbnes form2 som viser kunde informationerne (Navn, Adresse, Tlf. osv...)

Man kan så redigere disse informationer og gemme, hvorefter form2 lukkes med en this.Close() !

Alt dette virker fint nok!
Men jeg ville gerne kunne opdatere mit grid i første form, samtidig med at form2 lukkes.

Ellers skal jeg selv lukke og åbne griddet igen!

Jeg har en funktion, som vises herunder, der opdaterer mit grid. Men hvordan kalder man det samtidig med at form2 lukkes???!



/Lasse


Grid opdaterings funktion
--------

        public void update_grid()
        {

            cust_datagrid.Rows.Clear();
            SqlDataReader returnsqldatareader = functions.selectsqldatareader("Select * from custdb", "maindb");

            while (returnsqldatareader.Read())
            {
                String cust_id = System.Convert.ToString(returnsqldatareader["cust_id"]);
                String cust_fullname = System.Convert.ToString(returnsqldatareader["cust_name"]);
                String cust_address = System.Convert.ToString(returnsqldatareader["cust_address"]);
                String cust_zip = System.Convert.ToString(returnsqldatareader["cust_zip"]);
                String cust_phone = System.Convert.ToString(returnsqldatareader["cust_phone"]);

                cust_datagrid.Rows.Add(cust_datagrid.Columns[0].Tag = cust_id, cust_datagrid.Columns[1].Tag = cust_fullname, cust_datagrid.Columns[2].Tag = cust_address, cust_datagrid.Columns[3].Tag = cust_zip, cust_datagrid.Columns[4].Tag = cust_phone);

            }
        }

-----------------------
Avatar billede hmortensen Nybegynder
16. juli 2006 - 14:12 #1
Du kan sende en reference med når du åbner form2:


form1:
Form2 f = new Form2(this);
f.ShowDialog();

Så i form2:
private Form1 frm1;

public Form2(Form1 frm1)
{
  this.frm1 = frm1;
}


Så kan du kalde frm1.update_grid();
Avatar billede lasserasch Juniormester
16. juli 2006 - 14:25 #2
Jamen det var jo det jeg sagde... Vildt let, når man bare lige ved det :-)
Funger fint! Tak...

Er først lige begyndt at lære mig selv c# så jeg er stadig lidt usikker på nogle ting! Men men... Jeg lærer det jo nok en dag!

Smid et svar for points ik'!
Avatar billede hmortensen Nybegynder
16. juli 2006 - 14:33 #3
Svar :)
Avatar billede md_craig Nybegynder
16. juli 2006 - 20:03 #4
Hvis du bruger show dialog, kan du såmænd bare benytte det til at opdatere...

using(Form2 form = new Form2())
{
  DialogResult dr = form.ShowDialog();
  if(dr = DialogResult.OK)
    this.update_grid();
}

eller sågar bare:
using(Form2 form = new Form2())
{
  form.ShowDialog();
  this.update_grid();
}

Pointen med den første er dog at hvis du har mulighed for at fortryde at du ville ændre noget... så kan du undgå at opdatere... man kan vælge på knapper at de skal bruges i forbindelse med dialogresults ude i properties griddet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester