AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit TDBAdvGrid (TMS)

Ein Thema von EmWieMichael · begonnen am 13. Feb 2019 · letzter Beitrag vom 14. Feb 2019
Antwort Antwort
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Problem mit TDBAdvGrid (TMS)

  Alt 13. Feb 2019, 19:12
"Was soll das werden"

Damit meinte ich nicht was die Anwendung macht, sondern eher was du da versuchst.
In einer Zelle 2 DB Spalten anzuzeigen geht einfacher. Überlass das z.B der Datenbank (concat_ws z.B)

Mich hat das "Grid.Canvas.TextOut" gewundert. Warum zeichnest du selbst?
Im Event OnGetText tuts Grid.Cells[c,r] := 'foobar' genau so gut.

Die Masse an Ereignissen wollte anfangs das Geld zurück, langsam schätze ich das Grid (und auch den Support)

TMS macht "fast" alles anders als die normalen Komponenten. Dafür bieten sich viele Möglichkeiten, allerdings auch hürden.

Objekte im Grid zu halten finde ich in den meisten fällen unnötig. Klärt mich auf. Braucht man das?
Chris
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Problem mit TDBAdvGrid (TMS)

  Alt 14. Feb 2019, 06:44
Hallo,
Zitat:
Objekte im Grid
Es wird z.B. nicht alles angezeigt, z.B. die interne Datenbank-Id (DBId).
Vor dem Füllen des Grids wird eine Liste von Objekten gefüllt incl. des Objektes selbst,
und ein Teil der Objektdaten im Grid angezeigt.

Beim Ändern brauche ich aber die DBId, die höole ich mir dann aus dem Objekt.

PS:
Früher hatte ich auch immer die Id als versteckte Spalte mit eingetragen, Objects ist aber einfacher.
Heiko
  Mit Zitat antworten Zitat
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Problem mit TDBAdvGrid (TMS)

  Alt 14. Feb 2019, 07:11
Wenn es nur um die Id geht, ist das nicht einfacher.
Bei mehreren Spalten die später nicht sichtbar sein sollen mag das sein.

In manchen fällen ist dann ein DBAdvGrid besser. Wenn dann Sachen wie Gruppierung oder die interne Sortierung von nöten sind, dann einfach den PageMode umstellen. Einen Zeiger auf die Datenbank bekommt man bei OnSelectCell mit einem Locate auf das Dataset.
Chris
  Mit Zitat antworten Zitat
EmWieMichael

Registriert seit: 28. Mär 2012
103 Beiträge
 
#4

AW: Problem mit TDBAdvGrid (TMS)

  Alt 14. Feb 2019, 14:31
In einer Zelle 2 DB Spalten anzuzeigen geht einfacher. Überlass das z.B der Datenbank (concat_ws z.B)
Das ist durchaus eine Alternative; funktioniert aber nur, wenn auch sämtliche benötigten Daten auch in den Tabellen der Datenbank vorhanden sind. Das ist in meinem Fall nicht immer so. Aber bei einigen Abfragen könnte ich das durchaus umsetzen. Danke für die Anregung!

Zitat:
Mich hat das "Grid.Canvas.TextOut" gewundert. Warum zeichnest du selbst?
Macht der Gewohnheit; TDBGrid bietet nichts anderes und hat die letzten zehn Jahre prima funktioniert. Mit den TMS-Komponenten arbeite (besser: forsche) ich erst seit wenigen Tagen.

Zitat:
Im Event OnGetText tuts Grid.Cells[c,r] := 'foobar' genau so gut.
Ich habe das gerade mal mit OnGetDisplText (OnGetText gibt es bei meiner Version nicht) versucht. Das scheint aber nur dann zu funktionieren, wenn man auf Zellen zugreift, die vor der aktuellen Zelle liegen.
Ich kann also nicht abfragen, ob die aktuelle Spalte 'PLZ' ist und dann die Plz in Value zurückgeben, vom dahinterliegenden ORT ganz zu schweigen.

Zitat:
Objekte im Grid zu halten finde ich in den meisten fällen unnötig. Klärt mich auf. Braucht man das?
Ich habe das bisher so gehandhabt, dass ich in einem kleinen Recordtyp interne Satznummern in der Grid-Objektliste gesichert habe. Wählt der Anwender einen Eintrag (Zeile) aus, können anhand der Satznummern die Datensätze gelesen werden. Mit dem TMS-Grid geht das natürlich auch mit den Hidden-Columns.

So, nun steh ich kurz davor, es hoika gleichzutun, und das 'einfache' AdvStringGrid einzusetzen...

Vielen Dank für Eure Postings!

Gruß Michael
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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