26. februar 2007 - 20:35Der er
2 kommentarer og 1 løsning
Åbne form og hente værdi i DBGrid
Hej.
Jeg har en form hvorfra jeg kalder en form2 med en DBGrid.
Jeg har i DBGrid'ens onClick hændelse blot skrevet close
I form2's close event har jeg skrevet ModalResult:= mrOK;
I min form1 har jeg en knap med følgende kode: Procedure form1.button1; begin form2.show; If form2.ModalResult = mrOK then s := form2.DBGrid.Fields[0].DisplayText; end;
Meningen er så, at når jeg klikker på en række i form2' DBGrid, så skal form2 lukkes og værdien fra det første felt i den markerede række í Griden skal overføres til variabel s fra form1.buttons onclick procedure.
Om min fremgangsmåde er nogenlunde rigtig ved jeg ikke, men det virker ikke efter hensigten.
a) Første gang jeg klikker, så bliver der ikke overført noget. b) Anden gang jeg klikker, så bliver værdien fra feltet, der burde være overført i punkt a overført c) 3. gang jeg klikker, så bliver værdien fra feltet, der burde være overført i punkt b først overført. osv.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Jeg forstår ikke hvorfor du vælger at Show'e din form? Hvad er der galt med ShowModal?
var Field : TField; frmForm2 : TfrmForm2; begin frmForm2 := TfrmForm.Create(self); try if frmForm2.ShowModal = mrOK then begin Field := frmForm2.DBGrid1.Fields[0]; s := Field.Value; // Alternativt Field.AsString end; finally frmForm2.Release; end;
Nu bruger du vel ikke autogenererede forme? Lad vær' hvis du gør - det er en dårlig metode.. og nu jeg er i gang: Hvis du bruger TTables så vinder du i ydelse ved at skifte til TQuery.
P.S. Pas på hvis din tabel-komponent ligger på Form1 og linkes til i form2. Jeg har oplevet at linket forsvinder ganske umotiveret. Aner ikke hvad der foregår men 2 gange har jeg sendt et defekt program ud til kunder hvor skærmbilleder ikke virkede fordi DBGriddens Datasource var blevet nulstillet.
Jeg brugte show, da formen så automatisk lukkede, når der blev klikket udenfor formen.
Jeg har også været udsat for op til flere gange, at min kobling mellem DB => og DBGrid knækker, hvor jeg igen må sætte datasourcen på igen.
Synes godt om
Ny brugerNybegynder
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.