Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   drbgrid mit edit füllen (https://www.delphipraxis.net/176461-drbgrid-mit-edit-fuellen.html)

saschi35 6. Sep 2013 13:09

drbgrid mit edit füllen
 
Hallo ich habe mich soeben an einer kleinen datenbank versucht.

es hat soweit geklappt, aber wie bekomme ich es hin, dass der text derEdit fenster ausserhalb des dbgrid in das grid eingefügt werden.

sprich ich habe einige edit fenster die auszufüllen sind sind diese ausgefüllt wird es mit einem klick auf einen button in die gridliste eingefügt.

bei stringgrid kenne ich den befehl: stringgrid1.cells.caption:=e_blabla.text;

aber wie schauts bei dem datenbankgrid aus?

Viele Grüße
Sascha

DeddyH 6. Sep 2013 13:11

AW: drbgrid mit edit füllen
 
Da musst Du einen neuen Datensatz anlegen. Ein DBGrid zeigt ja lediglich die Daten einer Datenmenge an, also musst Du auch diese bearbeiten.

saschi35 6. Sep 2013 13:14

AW: drbgrid mit edit füllen
 
verdammt ich wusste das es komplizierter ist, habe ein video gefunden im internet bei dem das erstellen der datenbank erklärt wurde nun gibts aber keine info wie man es erweitert.

kannst du es mir vlt erklären?

DeddyH 6. Sep 2013 13:15

AW: drbgrid mit edit füllen
 
Was ist es denn für eine Datenbank, und womit greifst Du darauf zu, TQuery, TTable oder etwas anderes?

saschi35 6. Sep 2013 13:18

AW: drbgrid mit edit füllen
 
habs mit datasource zu dbf1 und als TDBGrid.... dazu 6 Intems mit String

DeddyH 6. Sep 2013 13:28

AW: drbgrid mit edit füllen
 
Und was ist dbf1? Das muss ja ein TDataset sein, aber von welchem Typ? Mal auf Verdacht:
Delphi-Quellcode:
dbf1.Append;
dbf1['Feldname'] := Edit1.Text;
dbf1['AndererFeldname'] := Edit2.Text;
dbf1.Post;

saschi35 6. Sep 2013 13:32

AW: drbgrid mit edit füllen
 
und das gebe ich bei dem Button ein?

ja also man findet es unter:

DATA ACCESS - DBF

bzw. vorher DATA ACCESS - DATASOURCE

saschi35 6. Sep 2013 13:35

AW: drbgrid mit edit füllen
 
Gratulation, dein Vorschlag hat funktioniert.

Ich kann mit den Editfeldern die Liste füllen.

Kleine nebenfrage: wie bekomme ich es nun hin, dass der nächste Eintrag oben steht und der bereits eingetragene in der Liste nach unten springt

DeddyH 6. Sep 2013 13:49

AW: drbgrid mit edit füllen
 
Dazu muss die Datenmenge entsprechend sortiert sein. In meinem Delphi gibt es kein DBF, daher kann ich nicht sagen, was da genau einzustellen ist, müsste wohl irgendwas mit "Index" im Namen sein. Günstig wäre es, wenn Deine Tabelle einen fortlaufende Index hat (Primärschlüssel), dann könntest Du nach diesem absteigend sortieren.

saschi35 6. Sep 2013 14:09

AW: drbgrid mit edit füllen
 
okay also er macht es anscheinend slebständig,


ich habe

5 editfenster und 5 spalten im grid,

aber er will nur 4 im grid übernehmen beim 5. zeigt er eine fehlermeldung an obwohl alles wie bei den voherigen ist.

DeddyH 6. Sep 2013 14:14

AW: drbgrid mit edit füllen
 
Und welche Fehlermeldung? Man sollte die nie unterschlagen ;)

saschi35 6. Sep 2013 14:46

AW: drbgrid mit edit füllen
 
Hallo kurze frage, kann man ein befehl geben das ein normales Stringgrid gedruckt wird?

mkinzler 6. Sep 2013 14:51

AW: drbgrid mit edit füllen
 
Schau dir mal die Tutorials an
Zitat:

Hallo kurze frage, kann man ein befehl geben das ein normales Stringgrid gedruckt wird?
Die Form-Klasse hat eine Print-Methode

DeddyH 6. Sep 2013 14:52

AW: drbgrid mit edit füllen
 
Und das Forum eine Suchfunktion: Hier im Forum suchenStringGrid drucken

saschi35 6. Sep 2013 15:01

AW: drbgrid mit edit füllen
 
okay ich bekomm die befehltzeilen erklärt bzw. vorgegeben aber welches symbol bzw. aktivität verweist auf den drucker?

DeddyH 6. Sep 2013 15:02

AW: drbgrid mit edit füllen
 
Die Frage habe ich nicht verstanden.

saschi35 6. Sep 2013 15:06

AW: drbgrid mit edit füllen
 
man bekommt im forum nur die befehlszeile gezeigt:

uses printers;
procedure GridDruck(grd:TStringGrid;links,oben:word;scal:dou ble);
var
x,y,li,ob,re,un,waag,senk,h,a: integer;
s: string;

function rech(i,j:integer):integer;
begin
result:=round(((i*j) / 72) * scal);
end;

begin
if scal > 0 then
begin
waag:=getdevicecaps(printer.handle,logpixelsx);
senk:=getdevicecaps(printer.handle,logpixelsy);
links:=rech(links,waag);
oben:=rech(oben, senk);
a:=rech(3,waag);
li:=getdevicecaps(printer.handle,physicaloffsetx)+ 1+links;
with printer do
begin
s:='Grid-Druck';
title:=s;
BeginDoc;
canvas.font:=grd.font;
canvas.font.size:=round((grd.font.size / 0.72) * scal);
h:=canvas.textheight(s);
canvas.pen.color:=$333333;
for x:=0 to grd.colcount-1 do
begin
if grd.gridlinewidth > 0 then
begin
canvas.pen.style:=pssolid;
canvas.pen.width:=1;
end
else
canvas.pen.style:=psclear;
ob:=getdevicecaps(printer.handle,physicaloffsety)+ 1+oben;
re:=li+rech(grd.ColWidths[x]+1,waag);
for y:=0 to grd.rowcount-1 do
begin
un:=ob+rech(grd.RowHeights[y]+1,senk);
if (x < grd.fixedcols) or
(y < grd.fixedrows) then
canvas.brush.color:=grd.fixedcolor
else
canvas.brush.color:=grd.color;
canvas.rectangle(li,ob,re,un);
canvas.brush.style:=bsclear;
canvas.textrect(rect(li+a,ob+1,re-a,un-1),
li+a,ob+(un-ob-h)div 2,grd.Cells[x,y]);
ob:=un;
end;
canvas.brush.color:=clwhite;
canvas.pen.style:=psclear;
canvas.rectangle(li,ob+1,re,ob+h);
li:=re;
end;
enddoc;
end;
end;
end;



aber wo muss das ganze rein, bzw. welches element muss ich einfügen , dass er überhaupt weiss drucken, welcher drucker usw.

DeddyH 6. Sep 2013 15:08

AW: drbgrid mit edit füllen
 
Es gibt einen Delphi-Referenz durchsuchenTPrintDialog und einen Delphi-Referenz durchsuchenTPrinterSetupDialog, die kannst Du für Druckereinstellungen etc. benutzen.

saschi35 6. Sep 2013 15:27

AW: drbgrid mit edit füllen
 
okay, ich ziehe mir die dialoge in form1.

aber wenn ich auf einen der dialoge klicke zeigt er mir zwar die einstellungen aber wo muss ich nun die bfehle eingeben, find es halt blöd als einsteiger das es immer nur riesen befehlszeilen gibt aber nicht von beginn an erklärungen.

DeddyH 6. Sep 2013 15:32

AW: drbgrid mit edit füllen
 
Ein gewisses Grundlagenwissen muss man eben voraussetzen, man kann ja nicht bei jedem Codeschnippsel beim Urschleim anfangen, sonst hätte jedes Listing im Forum 5000 Zeilen und mehr. Empfehlen kann ich z.B. die Grundlagentutorials vom Delphi-Treff, das E-Book vom selben Forum sowie die Tutorials und die CodeLib hier.

mkinzler 6. Sep 2013 15:33

AW: drbgrid mit edit füllen
 
GridDruck() ist eine Prozedur, die du z.B. in onClick eines Buttons aufrufen kannst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.

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