ToolTip-Text in DataGridView beim Anwählen der Zelle dynamisch wählen



  • Ich möchte den Text des ToolTips einer Zelle in einem DataGridView dynamisch laden, wenn ich mit der Maus darübergehe. Der Inhalt ist tatsächlich dynamisch, ich kann das ganze also nicht in der Load-Funktion setzen, sondern der Wert muß jedesmal neu generiert werden, wenn das ToolTip angezeigt wird.

    Das entsprechende Event scheint CellToolTipTextNeeded zu sein. Dieses funktioniert nur, wenn VirtualMode true ist. Wenn aber VirtualMode true ist, stürzt das Programm bei Rows.Add ab: "Der Vorgang ist ungültig, wenn sich das DataGridView-Steuerelement im virtuellen Modus befindet."

    Was muß ich also tun, damit der ToolTip-Text jedesmal neu geladen wird? (Eine DataSource habe ich übrigens nicht zur Verfügung.) Das CellMouseEnter-Event kann ich nicht nehmen, das wären zuviele Aufrufe.



  • Das CellToolTipTextNeeded-Ereignis tritt nur ein, wenn die DataSource-Eigenschaft für das DataGridView-Steuerelement festgelegt ist oder seine VirtualMode-Eigenschaft true ist.

    Was spricht denn dagegen eine DataSource zu verwenden ? Pack nen DataSet mit nem DataView in das Grid und Du kannst bequem mit allem arbeiten.



  • Das problem ist, daß ich bloß ein kleines Stück an dem Programm ergänze und bei uns generell nicht mit diesen DataSources gearbeitet wird. Somit kann ich sie auch nicht einfach verwenden.



  • Dann wirst Du CellToolTipTextNeeded schlicht weg nicht nutzen können und ein Workarround über z.B. CellMouseEnter verwenden müssen.


Anmelden zum Antworten