Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi paar problme mit der dbgrid (https://www.delphipraxis.net/29148-paar-problme-mit-der-dbgrid.html)

eddy23 4. Sep 2004 16:57


paar problme mit der dbgrid
 
hallo

ich nutze eine ado connection und eine access db,
und hab paar kleine probleme hoffe ihr könnt mir helfen1

1: hab ich eine dbgrid, und wenn nen 2ten datensatz rein schreiben will verändert sich sich die breite, obwohl das eigentlich ned nötig is, der inhalt is ned breiter als die dbrid felder oder so ;)

2. ich habse jetze so gemacht das man das datum reinschreiben muss, also per editfeld, wie kann ichdas automatisch machen ?, das es bei speichern in meiner dbgrid is

3. wenn ich daten in ein editfeld schreibe übernimmt der die daten sofort in die dbgrid, wie kan ich das unterbinden, das er das nur macht wenn ich auf meine speicherbutton drücke

so das wars erstma

danke

grayfox 4. Sep 2004 19:37

Re: paar problme mit der dbgrid
 
hallo eddy!

1) dbgrid-felder verändern sich im allgemeinen nicht, wenn mal längere oder kürzere feldinhalte eingegeben werden. hast du irgendwas an den properties verstellt)

2) zb:
Delphi-Quellcode:
 DeinDataSet.FieldByName('Datum').asTDate:= Date
schreib bitte auch dazu, welches dataset du verwendest (adotable, adoquery, adodataset...). das
wäre auch noch interessant. dass du eine connection brauchst, ist ohnehin jedem klar ;)

3) wenn die daten sofort in deinem DBGrid eingetragen werden, dann verwendest du ein DBEdit-feld.
je richtiger du deine komponenten bekanntgibst, desto richtiger werden die antworten sein, die du auf deine fragen bekommst.

- die anzeige unterbinden kannst du nur, indem du das dbgrid vor der eingabe von der datasource abklemmst. das das wird nicht das sein was du willst.

- oder du verwendest 'ungebundene' eingabefelder (zb edit-felder). bei diesen musst du dich allerdings selbst ums befüllen und in die tabelle eintragen kümmern.

was stört dich daran, wenn der eintrag erscheint? du kannst ihn ja noch immer editieren, falls er fehlerhaft ist.

mfg, stefan

Sharky 5. Sep 2004 06:26

Re: paar problme mit der dbgrid
 
Zitat:

Zitat von eddy23
..1: hab ich eine dbgrid, und wenn nen 2ten datensatz rein schreiben will verändert sich sich die breite, obwohl das eigentlich ned nötig is, der inhalt is ned breiter als die dbrid felder oder so ;)...

Hai eddy23,
Herzlich Willkommen in der Delphi Praxis.

Der von Dir beschriebene Effekt liegt wohl daran das ein DBGrid ab zwei angezeigten Datensätzen immer eine Vertikale-Scrollbar anzeigt. Wenn deine Felder die gesamte Breite des Grids brauchen fehlen jetzt einige Pixel und es wird eine Horizontale-Scrollbar angezeigt.

eddy23 5. Sep 2004 10:56

Re: paar problme mit der dbgrid
 
danke für die schnelle antwort ;)

nochma was allgemeines. ich nutzte adotable

zu 1:


Zitat:

Der von Dir beschriebene Effekt liegt wohl daran das ein DBGrid ab zwei angezeigten Datensätzen immer eine Vertikale-Scrollbar anzeigt. Wenn deine Felder die gesamte Breite des Grids brauchen fehlen jetzt einige Pixel und es wird eine Horizontale-Scrollbar angezeigt.

jubb hattest recht, habs nun geändert funzed nu einwandfrei :) danke


zu 2:
Code:
DeinDataSet.FieldByName('Datum').asTDate:= Date

wo schreib ich das hin, das es so funktioniert ?


und zu 3:

jo ich nutzte dbedit felder, aber mich stört es einfach das beim eingeben die daten gleich in der dbgrid stehen, wenn ich normale edit felder nutzte, weis ich halt ned wie ich die daten dann in meine db bekomme :)


danke


mfg eddy

Sharky 5. Sep 2004 11:04

Re: paar problme mit der dbgrid
 
Zitat:

Zitat von eddy23
..
wo schreib ich das hin, das es so funktioniert ?
...

Das würde ich einfach in das .BeforPost Ereigniss schreiben.
Zitat:

und zu 3:
Zum Beispiel so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOTable1.Edit;
  ADOTable1.FieldByName('feldname1').AsString := Edit1.Text; // Eintragen eines Strings;
  ADOTable1.FieldByName('feldname2').AsInteger := 4566; // Eintragen einer Zahl
  ADOTable1.Post;
end;
Trotzdem noch ein Bitte: Mache für jede Frage einen eigenen Thread auf. Sonst wird alles zu unübersichtlich. Danke.

grayfox 5. Sep 2004 22:44

Re: paar problme mit der dbgrid
 
hallo eddy!

bitte keine pn's schicken - sonst verlieren die anderen user den überblick ;)

Zitat:

Titel: huhu, datum feld
Inhalt der Nachricht:

du hast mir da den befehl geschrieben aber der funktioniert ned ;/
der gibt mir Undefinierter Bezeichner: 'AsTDate'
versteh ich ned
hab sicher ne kleinigkeit vergessen oder
nein, du hast nichts vergessen, aber auch nicht in der delphi-hilfe nachgesehen *gg*

richtig ist natürlich 'asDateTime'.

[OT]
wie du siehst, führt der publikumsjoker nicht immer zum erfolg :)
[/OT]

mfg, stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz