[C# / WinForms] DataGridView refresht niet *

Pagina: 1
Acties:

  • gerp
  • Registratie: Februari 2006
  • Laatst online: 13-11-2024
Ik heb een ArrayList van objecten (klanten), en deze databind ik aan een DataGridView.

Dat doe ik op de volgende manier:
code:
1
2
3
4
5
6
7
8
9
Column = new DataGridViewTextBoxColumn();
Column.HeaderText = "Bedrijfsnaam";
Column.DataPropertyName = "CompanyName";
dataGridView1.Columns.Add(Column);

Column = new DataGridViewTextBoxColumn();
Column.HeaderText = "Telefoonnummer";
Column.DataPropertyName = "Phonenumber";
dataGridView1.Columns.Add(Column);


En dan uiteindelijk:
code:
1
dataGridView1.DataSource = Customers;

Om te databinden aan de arraylist.

Vanuit de datagridview kan ik een klant selecteren door te dubbelklikken, en er wordt dan netjes een form geopend waarin ik de klant kan aanpassen. Op het moment dat ik deze form open stuur ik het datagridview mee. Zodra er op opslaan wordt geklikt vul ik de arraylist in het parent window opnieuw en roep ik de functie refresh van de datagridview aan. Er verandert alleen niks.

Ik heb in het scherm met de datagridview een button toegevoegd die een Messagebox laat zien, en de informatie in de ArrayList is gewoon netjes opnieuw gevuld.

Nu is dus de vraag hoe ik de dataGridView refresh. Ik kom op internet overal voorbeelden tegen waar datagrids gedatabind zijn aan een dataset. Maar met mijn ArrayList kom ik niet veel verder?

  • Oezie Woezie
  • Registratie: December 1999
  • Niet online

Oezie Woezie

Pim. is de beste

waarschijnlijk heeft een Arraylist geen events als er iets veranderd, gebruik een bindinglist hiervoor. of bindingsource.

een mooi Tshirt met Pim. is de beste enzo


  • gerp
  • Registratie: Februari 2006
  • Laatst online: 13-11-2024
Oezie Woezie schreef op zondag 24 september 2006 @ 12:50:
waarschijnlijk heeft een Arraylist een events als er iets veranderd, gebruik een bindinglist hiervoor. of bindingsource.
En die bindinglist werkt dan eigenlijk als koppeling tussen de datagridview en de arraylist? Dus de datagridview krijgt als datasource de bindinglist en de bindinglist krijgt als datasource de arraylist?

Of lees ik het nu verkeerd in de voorbeelden?

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
Ik gebruik de volgende code om een dataset te vullen. Deze wordt ook aangeroepen na het doorvoeren van een bewerking op de gegevens (op een andere form, dus niet op de dataset zelf) om ze te vernieuwen in de dataset:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
    Private Sub BindKlanten()
        ' Een KlantCollection vullen
        Dim colKlanten As DataLayer.KlantCollection
        colKlanten = objKlantDAO.ZoekAlleKlanten()

        ' De KlantCollection databinden aan dtgKlanten
        dtgKlanten.DataSource = colKlanten
        dtgKlanten.DataBind()
    End Sub

If you can't beat them, try harder