Announcement

Collapse
No announcement yet.

DataGrid: Sortieren mitbekommen

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

  • DataGrid: Sortieren mitbekommen

    Hallo zusammen,
    hat jemand eine Ahnung, wie ich beim alten DataGrid (nicht DataGridView) mitbekomme, wenn eine Sortierung im Grid ausgelöst wird?
    Ich habs mit
    Code:
    DataGrid_RowHeaderClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.RowHeaderClick
    probiert, aber da kommt man nicht vorbei, was mich doch stark wundert, da die Sortierung ja schließlich durch den Klick auf den Header des Grids ausgelöst wird *wunder*
    Vielleicht hat ja von Euch jemand eine Idee.


    EDIT: Ich Held hab grad festgestellt, das der RowHeader natürlich falsch ist. Eine ColumnHeader Event finde ich aber leider nicht. Gibts da möglichkeiten?

  • #2
    ok, ich bin einen Schritt weiter.
    Mit
    Code:
    ' auf Headerclick reagieren
                    If Me.aktClickTyp = System.Windows.Forms.DataGrid.HitTestType.ColumnHeader Then
                        If Me.ControlKontext = Kontext.ControlKontext.Liste Then
                            
                            Dim filter As FC_FilterBlatt = Me.Parent
                            For i As Integer = 0 To filter.IdWerte.Length
                                filter.IdWerte(i) = Me.Zelle(i, Me.idIndex)
                            Next
                        End If
                    End If
    bekomm ich mit, das ich auf den Header geklickt habe. Wenn ich aber jetzt mit den sortierten Daten arbeiten will (siehe die For-Schleife) dann finde ich nicht das richtige Event dafür.
    Habs bisher mit MouseUp und Click probiert, aber während dieser Events ist das Grid noch nicht sortiert und ich bekomm die benötigten Werte in der falschen Reihenfolge in meinen Array.

    Comment


    • #3
      Hallo,

      beim DataGridView würde ich dazu eine BindingSource verwenden. Diese bietet die Ereignisse an.

      Ob das beim DataGrid geht weiß ich nicht (noch nie verwendet), aber probiers mal.

      Code:
      ...
      dataGrid1.DataSource = bindingSource1
      ...
      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        nein, das funktioniert in meinem Fall leider nicht, da das Grid an ein Tabellen-Objekt als DataSource gebunden ist, das ich nicht einfach entfernen kann ohne eine größere Baustelle dafür auf zu machen.
        Ich hab mir jetzt erstmal soweit beholfen, das ich meinen Array beim Doppelklick auf ein Grid-Element befülle. In dem Moment wär es dann egal ob was sortiert worden ist oder nicht. Muss ich aber mal Produktiv testen, ob es da sichtbare Leistungseinbußen gibt.

        Comment

        Working...
        X