Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid suchen (https://www.delphipraxis.net/4513-dbgrid-suchen.html)

Peeters 2. Mai 2003 13:52


DBGrid suchen
 
Hallo Leute,

ich suche eine DBGrid-Komponente kann mir da einer ein TIPP geben welche gut und leicht zu bedienen ist. Schwerpunkt: Formatierung und Steuerung. Eventuell mit deutscher Hilfe.

Bitte Links. Mit besten Dank.

Neo2084 2. Mai 2003 13:59

Hallo,

also ich verwende TExRxDBGrid von GJL Software.
Echt klasse, benötigt aber die RxLIB.
Nur mit einer Deutschen Hilfe sieht es da ziemlich schlecht aus.

http://www.gjl-software.co.uk/
http://sourceforge.net/projects/rxlib/

hoffe, das Hilft dir etwas weiter..

Gruß Jan

Peeters 2. Mai 2003 16:13

Dank.

Hat den nicht noch jemand ein TIPP?

MrSpock 2. Mai 2003 16:17

Hallo Peeters,

was spricht gegen die TDBGrid Komponente, die in D6 Enterprise enthalten ist?

Peeters 2. Mai 2003 16:46

Soweit nichts. Da ich aber leider nicht im stande bin die DBGrid so zu verändern wie ich es gerne hätte. Und auch nichts finden kann wie ich eine DBGrid verändern kann (Beispiele).

Und so suche ich halt nach fertigen Komponenten.

Es seiden du kannst mir sagen wo ich sowas wie eine Anleitung finden kann.

MrSpock 2. Mai 2003 18:45

Hallo Peeters,

man kann einmal die Daten, die in dem Grid angezeigt werden sollen formatieren, in dem man persistente Felder erzeugt (über den Feldeditor) und die Daten dann formatiert, dabei lassen sich auch die Farben oder der Font in Abhängigkeit von z.B. dem Wert eines Feldes ändern.

Geht es dir mehr um die Darstellung der Zelle, als um die Darstellung der Werte, kannst du das OnDrawColumnCell Event benutzen, um eigene Darstellungen direkt auf das Canvas zu zeichnen. Wenn du genauer beschreibst, was du ändern willst, ist es vielleicht möglich, die Vorgehensweise genauer zu beschreiben.

Peeters 2. Mai 2003 20:39

alles mit RequestLive
1. CheckBox im DBGrid
2. ComboBox im DBGrid
a. dieser sollte sich je nach bedarf öffnen bzw. bei Eingabe des Textes ergänzen bzw. ausfüllen.
b. um die Netz-Ressourcen zu sparen sollte ComboBox nur einmal gefüllt werden, hier sollten aber nicht alle Felder zu sehen sein die man braucht LaufNr etc., bei zugeklappten Zustand darf auch nur ein Feld zusehen sein und beim aufklappen Zustand erst alle die anderen Felder die man braucht, diese wiederum sollen mit einen fixen Abstand mit einem Balken sauber getrennt sein.
3. mit TAB und Enter sollten die nächste Spalten an zu springen sein.

Das müsste erst einmal reichen.

MrSpock 3. Mai 2003 13:43

Hallo Peeters,

naja, vieleicht wäre eine Fremdkomponente dazu wirklich günstiger.

Eine Dropdownlist kannst du aber trotzdem erstellen. Wenn du auf das DBGrid rechtsklickst und den Spalteneditor auswählst, dort alle Felder hinzufügst und für das entsprechende Feld eine Picklist über den OI erstellst.

Eine checkbox kannst du selbst erzeugen, z.B. so:

Delphi-Quellcode:
procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if DataCol = 5 then
  begin
    DBGrid2.Canvas.Pen.Color := clBlack;
    DBGrid2.Canvas.Brush.Color := clRed;
    DBGrid2.Canvas.Rectangle(Rect);
    {dbgrid2.DefaultDrawColumnCell(Rect,DataCol,Column,State);}
    DBGrid2.Canvas.Brush.Color := clWhite;
    DBGrid2.Canvas.Rectangle(Rect.Left+3,
                  Rect.Top+3,
                             Rect.Left+13,
                             Rect.Top+13);
    if Table2male.Value then
    begin
       DBGrid2.Canvas.MoveTo(Rect.Left+3,Rect.Top+3);
       DBGrid2.Canvas.LineTo(Rect.Left+13,Rect.Top+13);
      DBGrid2.Canvas.MoveTo(Rect.Left+13,Rect.Top+3);
      DBGrid2.Canvas.LineTo(Rect.Left+3,Rect.Top+13);
    end;
  end;
end;

Peeters 3. Mai 2003 23:48

Danke. Ich habe da mal mit etwas angefangen. Nur habe ich ein Problem und zwar wie kann ich es verhindern das er mit der "Enter" Taste in den Edit-Mode geht?

MrSpock 4. Mai 2003 16:51

Hallo Peeters,

setze bei der zugehörigen DataSource Komponente:

Delphi-Quellcode:
AutoEdit := False;
Wenn du Editieren gar nicht zulassen willst kannst du zusätzlich ReadOnly des TTable Objekts auf True setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr.
Seite 1 von 2  1 2      

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