Announcement

Collapse
No announcement yet.

DBGrid - Fragen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DBGrid - Fragen

    Hallo,

    ich habe ein paar Probleme mit dem herkömmlichen DBGrid (Delphi 7).

    Ich zeige eine Reihe von Feldern an, eines davon ein Memofeld. Wenn dieses memo gefüllt ist, erscheint ein kleins Icon in diesem Feld. Ich möchte nun, dass beim doppelklick auf dieses Feld, der Inhalt des Memos in einem daraufhin erscheinenden Fenster angezeigt wird.

    Das Grid ist mit der Option ROWSELECT versehen, ich müsste nun also zuerst einmal diesen RowSelect umschalten, allerdings nur dann, wenn eben dieses eine Feld doppelt angeklickt wird.

    Ohne RowSelect funktionert dies bereits, allerdings reagiert scheinbar der Satzzeiger nicht korrekt. Klicke ich einen Datensatz in meinem Memofeld an, wird der EIntrag eines anderen Datensatzes angezeigt, der desjenigen der vorher aktiv war.....

    irgendwelche Tipps?


    Gruß

    Heiko

  • #2
    Gut ist bei solchen Fragen immer an welchem Event Dein Code hängt. Warsch. wird das Event welches Du verwendest aufgerufen bevor der Datensatz gewechselt wird.

    Wenn Du nicht unbedingt das Standart-Grid verwenden möchtest, dann nutz doch das UltimGrid aus den Jedi-Kompos. Diese Komponenten sind sehr leistungsfähig und OpenSource.

    Wenn es unbedingt das herkömmliche DBGrid sein muß, dann versuche folgendes.
    Im Event CellClick über MouseCoord die Koordinaten der Maus beim Click auf dem Grid feststellen.
    Dann über die Grid.Columns.Items feststellen welche Spalte an der Position steht.
    Dann über:
    text:= DBGrid1.DataSource.DataSet.FieldValues[DBGrid1.Columns.Items[x].FieldName];
    den Wert der Spalte zurückgeben lassen.
    Fertig.

    Comment

    Working...
    X