Announcement

Collapse
No announcement yet.

Zeile(n) in Datagridview verschieben ...

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

  • Zeile(n) in Datagridview verschieben ...

    Hallo,

    ich benötige leider 'mal wieder einen Tip.
    Ich möchte in einerm Datagridview die Zeilen ab einer bestimmten Zeile jeweils um eine Zeile nach vorne verschieben.
    Der Grund ist, daß ich immer in der letzten Zeile die Spaltensummen haben möchte und beim Sortieren diese Zeile mitsortiert wird, was dazu führt, daß sie irgendwo im Grid erscheint.

    Hier mein bisheriges Ergebnis, was leider nicht richtig funktioniert.
    Code:
            Dim I As Integer 'Zeilenindex
            Dim J As Integer 'Spaltenindex
    
            For I = 0 To grdData.Rows.Count - 1
                If grdData.Rows(I).Cells(1).Value = "Gesamt" Then
    
                    'Noch nicht das Ende erreicht
                    If I < grdData.Rows.Count - 1 Then
    
                        'Rows nach oben verschieben und Summenzeile am Ende neu aufbauen
                        While I + 1 <= grdData.Rows.Count - 1
                            For J = 0 To grdData.Rows(I).Cells.Count - 1
                                grdData.Rows(I).Cells(J).Value = _
                                grdData.Rows(I + 1).Cells(J).Value
                            Next J
                            I += 1
                        End While
                    End If
                End If
            Next
    Wenn jemand einen Tip hat, freue ich mich darüber.
    Komisch ist, daß die Spalten, die Texte beinhalten korrekt verschoben werden und die numerischen Spalten nach der Verschiebung leer sind ...

    Gruß

    Jürgen

  • #2
    Hallo,

    könntest du nicht vor dem Sortieren den Inhalt der "Ergebniszeile" aus dem Datagridview entfernen und nach dem sortieren die "Ergebniszeile" neu erstellen?

    Gruß
    Christian

    Comment


    • #3
      Hallo Christian,

      die Idee kam mir auch schon, aber das Grid ist datengebunden und somit kann ich - meines Wissens nach - leider keine Zeilen entfernen. Ich möchte gerne die Sortierfunktion durch Anklicken der Spaltenköpfe verwenden und die Daten nicht komplett neu einlesen.

      Gruß

      Jürgen

      Comment


      • #4
        Hallo Jürgen,

        eine Verständnisfrage: die "Summenzeile" wird mit den Detaildaten als Ergebnis bei einer Abfrage gleich mitgeliefert?

        Gruß
        Christian

        PS.: ... und was wenn du die Summe nicht am Ende, sondern grundsätzlich in der 1. Zeile, oder überhaupt ausserhalb des DataGridViews anzeigen lässt?

        Comment


        • #5
          Hallo Christian,

          Ich habe die Summenzeile bisher in meiner Datatable mitberechnet und dann als Ergebnis mit an das Control übergeben.
          Heute Mittag habe ich mir eine Lösung gebaut, die zwar nicht so elegant ist wie ich mir das vorgestellt habe, aber ich habe die Summenzeile als Ergebnis in einem zweiten DGV angezeigt, welches ich an das erste DGV "dranhänge".
          Die Formatierungen etc. übernehme ich dann einfach und eine Sortierung meiner Datenzeilen hat dann keinen Einfluß auf die Summenzeile.

          Zumindest eine Lösung.


          Grüße

          Jürgen
          Zuletzt editiert von cybermad; 15.07.2008, 18:29.

          Comment

          Working...
          X