| Autor |
Beitrag |
ibh_compucat
      
Beiträge: 130
Win 2000, Win 8.1
D6, Ent. XE5 Ent.
|
Verfasst: So 07.02.10 13:22
Hallo gemeinsam,
wie kann man die aktuelle Spalte in einem DBGrid abfragen (das natürlich mit einer Table verbunden ist).
Geht das mit DBGrid1.columns.xxx? Wäre schön, wenn ein FeldIndex oder der Feldname zurückgeliefert würde.
Danke für eine Antwort.
Gruß ibh_compucat
_________________ Was du nicht begreifst, kannst du nicht verlernen!
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 07.02.10 13:29
Wenn du mit "aktuelle Spalte" die selektierte Spalte meinst:
| Delphi Hilfe hat folgendes geschrieben: | TCustomGrid.Selection Eigenschaft
Gibt die Größe der aktuellen Auswahl an.
Klasse
TCustomGrid
Syntax
Delphi-Quelltext 1:
| protected property Selection: TGridRect read GetSelection write SetSelection; |
Beschreibung
Mit Selection können Sie einen Zellbereich auswählen. Selection enthält entweder für erste Spalte, die erste Zeile, die letzte Spalte und die letzte Zeile im Gitter oder die Zeilen- und Spaltenkoordinaten der linken oberen und der rechten unteren Zelle des ausgewählten Bereichs.
Selection kann nur mehrere Zellen repräsentieren, wenn Options den Wert goRangeSelect enthält. |
und dann kannst du ja einfach den Tabellenkopf auslesen z.B.
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
ibh_compucat 
      
Beiträge: 130
Win 2000, Win 8.1
D6, Ent. XE5 Ent.
|
Verfasst: So 07.02.10 13:46
Danke für Deine Antwort Xion, aber ich versteh' das noch nicht ganz:
ich habe z.B. 3 Spalten (Datenfelder in der Tabelle), Spalte A (Index = 0), Spalte B (Index = 1) und Spalte C (Index = 2).
Wenn ich zur Dateneingabe nun im Grid bin, dann möchte ich - abhängig von der selektierten Spalte - bei Betätigung der Entertaste unterschiedlich reagieren.
Wenn ich z.B. eine Integervariable 'Feldindex habe, wie müsste dann die Abfrage aussehen?
Feldindex := Form1.DBGrid1.???????????
Gruß ibh_compucat
_________________ Was du nicht begreifst, kannst du nicht verlernen!
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 07.02.10 13:54
Eben nochmal guckt, das DBGird hat garkeine Selection-Property, das ist das normale StringGrid
Delphi-Quelltext 1: 2: 3: 4: 5:
| try FeldIndex:= strtoint( DBGrid1.SelectedField.Text ); except ShowMessage( "Fehler: "+DBGrid1.SelectedField.Text +" ist keine Zahl!" ); end; |
Meinst du so?
Ich hab das DBGrid immer durch ein normales Grid ersetzt, weil das DBGrid halt wirklich direkt in die Datenbank schreibt, das ist ziemlich unschön manchmal.
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
ibh_compucat 
      
Beiträge: 130
Win 2000, Win 8.1
D6, Ent. XE5 Ent.
|
Verfasst: So 07.02.10 13:56
Vielen Dank, Super!
Gruß ibh_compucat
_________________ Was du nicht begreifst, kannst du nicht verlernen!
|
|
|