login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Kan datatable/datagridview niet aanpassen buiten eigen klasse (Opgelost)

Offline colaboer4 - 27/12/2011 14:08 (laatste wijziging 18/01/2012 23:08)
Avatar van colaboer4Lid Beste Allen,

Ik ben bezig met een applicatie die zijn gegevens opslaat in een Access database. Dit werkt allemaal prima, echter loop ik tegen wat problemen aan. Ik heb een database klasse geschreven, hiermee haal ik de gegevens op en stop ze in een datatabel. Deze datatabel is gekoppeld aan een datagridview.

In dezelfde klasse als de datagridview heb ik een refresh methode geschreven. Deze haalt simpel weg alle data opnieuw op, en maakt opnieuw de koppeling naar de tabel en de datagridview. Als ik deze methode aanroep binnen deze klasse werkt dit perfect, maar als ik de methode in een andere klasse aanroep doet hij niks.

Heeft iemand enig idee waar dit aan kan liggen, want ik kan er niet achterkomen.

Hieronder de relevante code:

refresh methode // w_Studenten.cs
  1. public void studentRefresh()
  2. {
  3. //Methode aanroepen voor het ophalen van gegevens
  4. DataSet query = academieDB.getDataSet("SELECT * FROM student ORDER BY achternaam ASC", "student");
  5.  
  6. //Dataset aan Datatabel koppelen
  7. t = query.Tables["student"];
  8.  
  9. //Datatabel aan datagrid koppelen
  10. dgv_Studenten.DataSource = t;
  11. }


Na het drukken op een knop op een ander scherm wordt de onderstaande code uitgevoerd.

w_StudentBewerken.cs
  1. //Methode aanroepen voor het ophalen van gegevens
  2. DataSet query = academieDB.getDataSet("UPDATE student SET ACHTERNAAM = '" + tb_achternaam.Text + "' , ROEPNAAM = '" + tb_roepnaam.Text + "', VOORVOEGSEL = '" + tb_voorvoegsel.Text + "', VOORLETTERS = '" + tb_voorletters.Text + "', STRAAT = '" + tb_straat.Text + "', PLAATS = '" + tb_woonplaats.Text + "', POSTCODE = '" + mst_postcode.Text + "', EMAIL = '" + tb_emailAdres.Text + "', GEB_DATUM = '" + mst_geboorteDatum.Text + "', OPLEIDING = '" + tb_opleiding.Text + "', INSTROOM = '" + instroomUpdate + "', VTDT = '" + VTDT + "' WHERE idcode = '" + tb_studentNummer.Text + "'", "studentUpdate");
  3.  
  4. //Dataset aan Datatabel koppelen
  5. t = query.Tables["studentUpdate"];
  6.  
  7. //Datatabel aan datagrid koppelen
  8. studentInfo.dgv_Studenten.DataSource = t;
  9.  
  10. //Datagridview refreshen
  11. studentInfo.studentRefresh();
  12.  
  13. //Scherm sluiten
  14. this.Close();


Alles in bovenstaande codes werkt perfect, behalve de "studentInfo.studentRefresh();". Hij geeft geen erorr dus ik heb ook geen flauw idee waarom hij hem niet pakt.

Bijvoorbaat dank.


"""""""""
Het probleem is opgelost. De methode werkte wel, maar hij kon de datgridview niet aanspreken. Om dit op te lossen heb ik gebruik gemaakt van parent en child. Nu werkt het wel.
"""""""""

2 antwoorden

Gesponsorde links
Offline Tuinstoel - 29/12/2011 22:32
Avatar van Tuinstoel PHP expert Beetje lastig, dit is typisch zo'n gevalletje waarbij je je helemaal kapot debugt terwijl het een klein foutje is.

Hoe heeft w_StudentBewerken.cs kennis van studentInfo (die - wat ik aanneem - uit w_Studenten.cs komt)? Ik heb zo'n vermoeden dat t na het sluiten wordt weggeknikkerd. Misschien even anders aanpakken en eerst je hele datagrid clearen (kijken of dat lukt) en weer vullen. Misschien dat het beetje readonly is?
Offline colaboer4 - 30/12/2011 16:52 (laatste wijziging 13/01/2012 16:41)
Avatar van colaboer4 Lid Bovenin de w_Studentbewerken.cs roep ik een aantal klasses aan waaronder w_Studenten.cs.

  1. public partial class w_StudentBewerken : Form
  2. {
  3. w_Studenten studentInfo = new w_Studenten();



Aangezien ik niets hieronder meer bij kan posten??? Maar even zo. Ik heb verder geprutst, en het ligt aan het koppelen van de dataTabel aan de datagridview. Dit wil hij niet doen, maar waarom niet weet ik niet... Iemand toevallig iedeen?

Dus in dat opzicht zou hij volgens mij moeten werken, alhoewel het probleem wel hier ergens zou moeten liggen, de methode werkt wel in w_Studenten.cs. Alleen niet als ik deze methode aanroep in w_StudentBewerken.cs
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.169s