Wert ermitteln bei TStringGrid



  • Hey @all,

    und zwar wollte ich Euch fragen, ob jemand weiß, wie ich die Werte eines TStringGrid einer ganzen Zeile (2 Spalten) erfahre, den soviel ich gesehen habe gibt es hier keine Indexwerte wie bei einer ComboBox, und mit MouseToCell bekomme ich egal wohin ich klicke immer folgendes:

    Col 2010200878,Row 1244000
    

    Ich will diesen Wert nicht ändern, sondern lediglich die Zelle/Zeile markieren und diese dann in zwei Textfelder anzeigen lassen, anschließend kann man dann das TStringGrid mit den neuen Werten mittels eines Button updaten.

    Vielen Dank im Voraus

    MfG Roman1311



  • Eine zelle kann man mit

    StringGrid1->Cells[x][y];
    

    auslesen!
    (x=X-Achse, y=Y-Achse)
    Markieren hab ich kA!

    [edit] verschrieben^^



  • Blackhawk meinte wohl Cells[x][y].

    Du solltest dir aber mal die Rows-Property ansehen, da hast du alle Einträge der jeweiligen Zeile in einer StringList.



  • Du könntest Dir ja die Mauskoordinaten geben lassen, und diese dann überprüfen, oder ist das das gleiche wie MouseToCell?

    Lg _freeze_



  • Das ich mit Cells auf die Zellen zugreife weiß ich, das ist auch nicht das Problem, mein Problem ist das ich nicht weiß wie ich den Wert bekomme, auf welcher Zeile/Zelle ich mich gerade befinde, wenn ich mit der Maus eine Zeile/Zelle markiere. Da MouseToCell irgendwie nicht funktioniert

    MfG Roman1311



  • schau mal unter OnCellSelect bei TStringGrid



  • Falls Du mehrere Zellen markieren willst, schau Dir mal die Eigenschaft Selection an. Ansonsten kannst Du die Eigenschaften Row und Col verwenden.

    An den Inhalt einer ganzen 'Zeile' kannst Du über Rows gelangen.

    Es gibt also eine ganze Reihe Zugriffsmöglichkeiten. In Deinem Fall würde ich über Row die Zeile mit der ausgewählten Zelle ermitteln und die Werte über Cells[][] auslesen.


Log in to reply