TDBGrid laten verversen in Cbulder

Pagina: 1
Acties:

  • Darius
  • Registratie: Juli 2001
  • Laatst online: 00:54
Onder cbuilder heb ik een dbgrid dat gekoppeld is aan een dataset test. Om dit dataset te vullen gebruik ik de volgende methode dat in een andere klasse zit :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void
Andere_klasse::voerQuery (TDataSource *source)
{
      TQuery *query      = new TQuery (this);
      query->DatabaseName     = dbase;
      query->AutoRefresh    = true;

      query->SQL->Clear ();
      query->SQL->Add ("select * from Tabel;");
      query->Prepare ();
      query->Open ();

      source->DataSet      = query;
      query->Active      = true;
      query->Close();
}

Dit stop ik dan in een TDatasource en ik gebruik die TDataSource om een TDBGrid te vullen. Het enige probleem is dat ik die TDBGrid ook wil updaten als ik bijv. op een knopje heb gedrukt. Als ik TDBGridnaam->Update() doe gebeurt er niks. Weet iemand hoe ik dit kan fixen ?

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 04-09 00:34

Delphi32

Heading for the gates of Eden

Gokje:
code:
1
TDbGridNaam->DataSource->Dataset->Refresh;

Zo werkt het in Delphi tenminste altijd :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:16
Dataset closen en terug openen wil ook wel eens lukken mocht de Refresh functie niet werken.

https://fgheysels.github.io/


  • Darius
  • Registratie: Juli 2001
  • Laatst online: 00:54
Dat had ik al allemaal gedaan, maar het wil nog steeds niet lukken .Ik heb zelfs met builder een TQuery aangemaakt en die in de bovenstaande methode gevuld, maar dat wil ook niet werken. Weet iemand waar het aan zou kunnen liggen ?

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 04-09 00:34

Delphi32

Heading for the gates of Eden

TDatabase gebruiken en even wat spelen met session management, want ik vermoed dat het daar nu op stukloopt.

  • Darius
  • Registratie: Juli 2001
  • Laatst online: 00:54
zover was ik ook al. Volgens mij heb je gelijk. Hier is geen (simpele) manier omheen als je het zelf wilt doen. Bedankt voor de moeite.
Pagina: 1