![]() |
DB-Grid mit Intraweb 3.2 Komponenten darstellen?
Hallo Leute,
weiss jemand von Euch wie ich ein gefülltes DB-Grid mit den Intraweb 3.2 Komponenten darstelle? Da Javascript im Browser deaktiviert ist, müssen die 3.2'er Komponten genügen. Gruß AK |
Re: DB-Grid mit Intraweb 3.2 Komponenten darstellen?
Sooooo ich hab mal ein bisschen Zeit gefunden und eine Lösung erstellt, das ist ein Grid mit den Inhalten aus einer Tabelle, in der 2. spalte sind die Felder editierbar, in der dritten Spalte sind Buttons zum übernehmen der Änderung der Editfelder:
Code:
Wie gesagt das läuft alles ohne Javascript im Browser.
procedure TIWForm2.IWAppForm32Create(Sender: TObject);
var i: integer; begin iwgrid321.cell[0,0].text := 'Name'; iwgrid321.cell[0,1].text := 'Geburtstag'; iwgrid321.cell[0,2].text := 'Ändern'; table1.Open; table1.First; iwgrid321.RowCount:=table1.RecordCount+1; for i := 1 to table1.RecordCount do begin iwgrid321.cell[i,0].text := table1.fieldbyname('Name').asstring; with iwgrid321.Cell[i,1] do begin //editfeld Control:=TIWEdit32.Create(self); with TIWEdit32(Control) do begin Text:=table1.fieldbyname('Geburtstag').asstring; end; end; with iwgrid321.Cell[i,2] do begin //button Control:=TIWButton32.Create(self); with TIWButton32(Control) do begin Text:='Ändern'; onclick:=testprozedur; //sql-Anweisung end; end; table1.Next; end; table1.Close; end; |
Re: DB-Grid mit Intraweb 3.2 Komponenten darstellen?
Hallo,
falls es jemanden interessieren sollte: Das ist ein dreispaltiges Grid mit einem Edittierbaren Feld und einem Buttonfeld zum ändern des Edit eintrages in der Tabelle. Ich habe Testweise eine Paradoxtabelle genommen. Javascript ist im Browser ausgeschaltet.
Code:
Gruß AK
procedure TIWForm2.gridaufbauen();
var i: integer; begin iwgrid321.cell[0,0].text := 'Name'; iwgrid321.cell[0,1].text := 'Geburtstag'; iwgrid321.cell[0,2].text := ' '; table1.Open; table1.First; iwgrid321.RowCount:=table1.RecordCount+1; for i := 1 to table1.RecordCount do begin iwgrid321.cell[i,0].text := table1.fieldbyname('Name').asstring; with iwgrid321.Cell[i,1] do begin //editfeld Control:=TIWEdit32.Create(self); with TIWEdit32(Control) do begin Text:=table1.fieldbyname('Geburtstag').asstring; end; end; with iwgrid321.Cell[i,2] do begin //button Control:=TIWButton32.Create(self); with TIWButton32(Control) do begin Text:='Ändern'; name:='but'+inttostr(i); onclick:=testprozedur; //sql-Anweisung end; end; table1.Next; end; table1.Close; end; //------------------------------------------------------ procedure TIWForm2.testprozedur(ASender: TObject); var zeile: integer; zeilenname: string; begin zeilenname:= (ASender as TIWButton32).name; zeilenname:= copy(zeilenname,4,length(zeilenname)); IWLabel321.Caption:=iwgrid321.Cell[strtoint(zeilenname),1].Control.text; table1.Open; table1.RecNo:=strtoint(zeilenname); table1.Edit; table1.FieldByName('Geburtstag').AsString:=iwgrid321.Cell[strtoint(zeilennam e),1].Control.text; table1.Post; gridaktualisieren; end; //--------------------------------------------------------------- procedure TIWForm2.gridaktualisieren; var i: integer; begin table1.Open; table1.First; for i := 1 to table1.RecordCount do begin with iwgrid321.Cell[i,1] do begin //editfeld with TIWEdit32(Control) do begin Text:=table1.fieldbyname('Geburtstag').asstring; end; end; table1.Next; end; table1.Close; end; P.S. das funktioniert alles ohne Javascript im Browser |
Re: DB-Grid mit Intraweb 3.2 Komponenten darstellen?
Hallo nochmal,
da ich ja nichts zu tun hab ;-) , hier mal ein Grid das fünf Zeilen und umfasst und per Button auf die nächsten Seiten des Grids schaltet. Das macht sich sehr gut bei Grids die mehr als 20 Datensätze haben. Da ich ja warscheinlich kein Javascript im Browser angeschaltet haben darf, musste ich das "per Hand" konstruieren und konnte nicht die guten TMS oder Standard Komponenten nehmen. Das Grid hat eine editierbare spalte, aber diesmal keine Buttons in der dritten Spalte. die Datenbank wird über einen extra Button aktualisiert :
Code:
procedure TIWForm1.gridaufbauen1();
var i: integer; begin IWGrid321.ColumnCount:=2; IWGrid321.Width:=240; IWGrid321.cell[0,0].Width:='150'; IWGrid321.cell[0,1].width:='90'; IWGrid321.cell[0,0].text := 'Name'; IWGrid321.cell[0,1].text := 'Geburtstag'; IWGrid321.Font.Style:=[]; table1.Open; table1.First; iwgrid321.RowCount:=6; for i := 1 to iwgrid321.RowCount-1 do begin iwgrid321.cell[i,0].text := table1.fieldbyname('Name').asstring; with iwgrid321.Cell[i,1] do begin //editfeld Control:=TIWEdit32.Create(self); with TIWEdit32(Control) do begin Text:=table1.fieldbyname('Geburtstag').asstring; width:=90; end; end; table1.Next; end; //zweites unteres Grid mit den Buttons aufbauen IWGrid322.RowCount:=1; if 5 mod (trunc(table1.RecordCount / 5)) = 0 then begin IWGrid322.ColumnCount:= trunc(table1.RecordCount / 5); IWGrid322.Width:= trunc(IWGrid322.ColumnCount * 20); end else begin IWGrid322.ColumnCount:= trunc(table1.RecordCount / 5)+1; IWGrid322.Width:= trunc((IWGrid322.ColumnCount) * 20); end; for i:=0 to IWGrid322.ColumnCount-1 do begin with IWGrid322.Cell[0,i] do begin Control:=TIWButton32.Create(self); with TIWButton32(Control) do begin Text:=inttostr(i+1); name:='gri'+inttostr(i+1); onclick:=seitenclick; end; end; end; table1.Close; end; procedure TIWForm1.seitenclick(ASender: TObject); var zeilenbutton: string; i :integer; begin zeilenbutton:= (ASender as TIWButton32).name; zeilenbutton:= copy(zeilenbutton,4,length(zeilenbutton)); table1.Open; table1.RecNo:= trunc((strtoint(zeilenbutton) * 5)-5); if zeilenbutton = '1' then table1.First; for i := 1 to iwgrid321.RowCount-1 do begin if table1.Eof then begin //wenn das ende der datenbanktabelle errreicht ist, soll nichts mehr im grid angezeigt werden iwgrid321.cell[i,0].text := ''; with iwgrid321.Cell[i,1].Control do begin //editfeld Text:=''; end; end else begin iwgrid321.cell[i,0].text := table1.fieldbyname('Name').asstring; with iwgrid321.Cell[i,1].Control do begin //editfeld Text:=table1.fieldbyname('Geburtstag').asstring; end; end; table1.Next; end; table1.Close; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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 by Thomas Breitkreuz