Announcement

Collapse
No announcement yet.

Textumbruch im DataGrid-Control bei verändeter Zeilenhöhe

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

  • Textumbruch im DataGrid-Control bei verändeter Zeilenhöhe

    Hallo C#-User,

    ich habe einige DataGrids mit einer Standardzeilenhöhe definiert. Wenn ein Eintrag in einer Spalte länger ist als die "Breite der Spalte", wird der Text "abgeschnitten". So weit OK!

    Ich habe nun über die Eigenschaft "RowHeight" die Höhe der Zeilen geändert. Das DataGrid zeigt jetzt auch schön große Zeilen an. Leider wird der Text aber nicht automatisch umgebrochen, so dass die höhere Zeile keinen Vorteil bringt.

    Wie kann ich das DataGrid-Control anweisen, den enthaltenen Text in einer Spalte umzubrechen und auf die verfügbare Höhe der Zeile auszuweiten?

    Danke für alle Antworten...

    jlo

  • #2
    Hallo,
    tritt der Effekt auch dann auf, wenn folgendes abgearbeitet wird? <br>
    a) DataGrid-Eigenschaft <b>TableStyles</b>: neuen DataGridTableStyle anlegen und über MappingName mit der DataTable-Instanz im DataSet verbinden <br>
    b) DataGridTableStyle-Eigenschaft <b>PreferredRowHeigh</b> von 16 auf 32 ändern <br>
    c) DataGridTableStyle-Eigenschaft <b>GridColumnStyles</b> : ein Eintrag für jede sichtbare Spalte im DataGrid anlegen <br>
    d) Programm starten, SqlDataAdapter-Methode Fill aufrufen, Daten werden einzeilig angezeigt; Mausklick in ein Feld mit langen Text -> zweizeilige Anzeige mit Zeilenumbruch im DataGri

    Comment


    • #3
      Hallo Andreas Kosch,

      wenn ich das Editieren innerhalb des Grids zulasse, wird der Text tatsächlich umgebrochen und vollständig angezeigt. Jedoch habe extra eine Methode geschrieben, die die EDIT()-Methodes des Grids überschreibt, damit dies verhindert wird...

      Es muss doch irgendwie möglich sein, das DataGrid-Control zu veranlassen, den Text - soweit möglich - aufgrund der vorhandenen Zeilenhöhe vollständig anzuzeigen, ohne das ich mit der Maus in eine Zelle klicken muss!!!???

      Gruß
      jl

      Comment


      • #4
        Hallo,
        das momentane Verhalten liegt darin begründet, dass beim Editieren eine "unsichtbare" TextBox-Instanz im Spiel ist. Wenn ein eigener Nachfolger von <b>DataGridColumnStyle</b> die geerbte <b>Paint</b>-Methode überschreibt und das DataGrid diese Klasse in den <b>TableStyles</b> aktiviert, lässt sich jede beliebige visuelle Darstellung aktivieren (weil man dann selbst für die Implementierung zuständig ist).
        <br>
        Wenn das zu viel Arbeit macht, hilft auch das OPEN SOURCE-Control <i>SourceGrid: C# grid control</i> (siehe <i>http://www.devage.com/</i>) weiter.
        &#10

        Comment


        • #5
          Hallo,

          erstmal vielen Dank für die Mitteilung.

          Dann werd´ ich das ´mal angehen...

          Gruß
          jl

          Comment

          Working...
          X