letzte beschriebene Zeile im DataGridView ermitteln

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von mhc2004.

    letzte beschriebene Zeile im DataGridView ermitteln

    Hallo,

    ich möchte gern in einem DataGridview die letzte beschriebene Zeile ermitteln und die nächste dann durch eine Textbox beschreiben lassen.Also in einer Spalte natürlich.In VBA ist das ja kein Problem, nur VB2008 ist anders und neu für mich.

    VBA wäre ja so:

    VB.NET-Quellcode

    1. Sub letzte_beschriebene_Zeile()
    2. Dim Zeile As Long, Zeile1 As Long, Suchbegriff As Long
    3. Zeile = Range("A65536").End(xlUp).Row
    4. MsgBox "Letzte Zeile ist Nr. " & Zeile End Sub
    5. End Sub


    Wie kann ich das mit einem DataGridView machen?
    Falls du ein SqlDataSource benutzt, kannst du auch das Event SqlDataSource.Selected benutzen.

    VB.NET-Quellcode

    1. Protected Sub SqlDataSource_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles SqlDataSource.Selected
    2. MsgBox(e.AffectedRows)
    3. End Sub


    Das Beispiel ist aus der ASP.Net Umgebung.
    hmmm......hab mich bestimmt falsch ausgedrückt und bemerkt das der VBA Code genau das tut was er soll, ich meinte natürlich die letzte beschriebene Zeile, denn mit

    VB.NET-Quellcode

    1. zeile = datagridview1.rows.count - 1 'eventuell -2


    ist es ja egal ob in einer Zeile was steht oder nicht, es werden ja nur die gesamten Zeilen gesucht nicht aber welche die erste leere Zeile nach der letzten beschriebenen ist.

    VBA letzte beschriebene Zeile suchen wäre ja:

    VB.NET-Quellcode

    1. Dim lngLastRow As Long
    2. lngLastRow = IIf(Cells(Rows.Count, 1).Value = "", Cells(Rows.Count, 1).End(xlUp).Row + 1, Rows.Count)


    aber wie in VB2008?



    @MetBo , nein ich benutze kein Sql DataSource, übertrage die Daten vom Grid in ein Access File.
    Ich habe es jetzt so versucht, nur leider bekomme ich gar keine Ausgabe. Kann mir nich jemand dabei helfen den Code zu berichtigen?

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. Dim Zeile As Integer = DataGridView2.Rows.Count - 1
    3. For Zeile = 0 To 60 Step -1
    4. If DataGridView2(2, Zeile).Value = "" Then
    5. MsgBox(Zeile)
    6. End If
    7. Next
    8. End Sub