Datagrid aktualisieren & bearbeiten

royalboy

Mitglied
Hallo Zusammen

Ich verwende für meine Applikation Datagrid. Ich möchte eben Daten direkt im Grid bearbeiten.Wie bringe ich das hin?

Brauche eure Hilfe

Danke
 
Das ist nicht auf die schneller erklärt. Ich poste dir hier mal ein bischen Code, vielleicht hilft der dir weiter:

Code:
Private Sub DataGrid1_EditCommand(ByVal source As Object, _
                        ByVal e As DataGridCommandEventArgs _
                        ) Handles DataGrid1.EditCommand

        DataGrid1.EditItemIndex = e.Item.ItemIndex
        BindDatas()

    End Sub

    Private Sub DataGrid1_CancelCommand(ByVal source As Object, _
                        ByVal e As DataGridCommandEventArgs _
                        ) Handles DataGrid1.CancelCommand

        DataGrid1.EditItemIndex = -1
        BindDatas()

    End Sub


    Private Sub DataGrid1_UpdateCommand(ByVal source As Object, _
                        ByVal e As DataGridCommandEventArgs _
                        ) Handles DataGrid1.UpdateCommand

        Dim id As String = CType(DataGrid1.DataKeys(e.Item.ItemIndex), String)
        Dim txt As TextBox = CType(e.Item.Controls(1).Controls(0), TextBox)

        Dim update As String = _
            "UPDATE Customers SET CompanyName='" & txt.Text & "' WHERE CustomerID='" & id & "'"

        Dim conn As New SqlConnection( _
            "server=localhost;database=northwind;integrated security=sspi")
        conn.Open()

        Dim cmd As New SqlCommand(update, conn)
        cmd.ExecuteNonQuery()

        conn.Close()

        Response.Write(update)
        DataGrid1.EditItemIndex = -1
        BindDatas()

    End Sub
 
Hallo royalboy,

soweit ich weiß, gibt es unter den Eigenschaften des DataGrids (über das Kontextmenü zu erreichen) eine Möglichkeit zu sagen, dass das Grid editierbare Felder haben soll.

MfG
Gorcky
 
Hallo Gorcky,

in der Windows-Entwicklung gibt es diese Eigenschaft, unter ASP.NET nicht. Da ja jeden Webseite statuslos ist musst du immer einen entsprechenden PostBack ausführen und den EditItemIndex im DataGrid setzten. Somit wird dann die entsprechende Zeile im Edit Mode angezeigt.

Entweder man verwendet ein eigenes Edit Template oder man übelässt es ASP.NET wobei zweiteres nicht immer das gewollte Ergebnis anzeigt.
 
Zurück