Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GridView-"Edit" übernimmt keine Daten

Empfohlene Antworten

Veröffentlicht

Moin Moin,

Erstmal kurz die Voraussetzungen:

- ASP.Net + VB.Net

- SQL 2005 Server

Nun mein Anliegen:

Auf der Startseite (dbZugriff.aspx.vb) habe ich ein GridView eingebunden mit ner SQL Abfrage (Page_Load):

Dim conSql As New SqlConnection()

conSql.ConnectionString = "server=server12345; database=Test; uid=dbUser; pwd=passwort"

Dim comSql As New SqlCommand

conSql.Open()

Dim da As SqlDataAdapter = Nothing

Dim dt As DataTable = Nothing

Dim vSQL As String = "SELECT * FROM tbl_Name;"

da = New SqlDataAdapter(vSQL, conSql)

dt = New DataTable

da.Fill(dt)

GridView.DataSource = dt

GridView.DataBind()

conSql.Close()

Nun die Sub's für GripView:

Protected Sub GridView_bearbeiten(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView.RowEditing

Try

GridView.EditIndex = e.NewEditIndex

GridView.DataBind()

Catch ex As Exception

Connectionsssss.BackColor = Color.OrangeRed

Connectionsssss.Text = " GridView_bearbeiten Fehler: " + ex.Message

End Try

End Sub

Protected Sub GridView_abbrechen(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView.RowCancelingEdit

Try

GridView.EditIndex = -1

GridView.DataBind()

Catch ex As Exception

Connectionsssss.BackColor = Color.OrangeRed

Connectionsssss.Text = " GridView_abbrechen Fehler: " + ex.Message

End Try

End Sub

Nun der Haken an der Sache:

Protected Sub GridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GridView.RowUpdating

conSql.ConnectionString = "server=server12345; database=Test; uid=dbUser; pwd=passwort"

Dim comSql As New SqlCommand

Dim KuNr As Integer = GridView.DataKeys(e.RowIndex).Value

Try

Dim dt As DataTable = CType(Session("TaskTable"), DataTable)

Dim row As GridViewRow = GridView.Rows(e.RowIndex)

dt.Rows(e.RowIndex)("Name") = (CType((row.Cells(3).Controls(0)), TextBox)).Text

dt.Rows(e.RowIndex)("Vorname") = (CType((row.Cells(4).Controls(0)), TextBox)).Text

dt.Rows(e.RowIndex)("Geboren") = (CType((row.Cells(5).Controls(0)), TextBox)).Text

dt.Rows(e.RowIndex)("Telefon") = (CType((row.Cells(6).Controls(0)), TextBox)).Text

GridView.EditIndex = -1

GridView.DataSource = dt

GridView.DataBind()

Catch ex As Exception

Connectionsssss.BackColor = Color.OrangeRed

Connectionsssss.Text = " GridView_aktualisieren Fehler: " + ex.Message

End Try

End Sub

End Class

db.Zugriff.aspx:

<asp:GridView ID="GridView" runat="server" BackColor="White" BorderColor="#999999"

BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black"

GridLines="Vertical" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"

OnRowEditing="GridView_bearbeiten"

OnRowCancelingEdit="GridView_abbrechen"

OnRowUpdating="GridView_RowUpdating">

.

.

.

<asp:TemplateField HeaderText="Zeilennummer">

<ItemTemplate>

Zeile Nr. <strong><%# Container.DataItemIndex +1 %></strong>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

Der Link "bearbeiten" im GridView geht ohne Probleme. Nur er will nicht richtig die Daten übernehmen sowohl ins GripView und später in die db. Was mache ich falsch? Wo liegen meine Fehler? (Ohne Parameter pls) ;-)

Nachtrag (könnte ja wichtig sein) :upps

errormessage:

GridView_aktualisieren Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.