Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

? about deleting row from WPF datagrid and datatable

$
0
0

I'm trying to delete a row from a WPF datagrid and the datatable it's bound to.  Using this suggestion, and others like it, SelectedItems always returns 0 or "Nothing".

I put a "Delete" button on the datagrid.  It fires this code.  But "SelectedItems" returns nothing.  I expect it to return at least "1":

        Dim listOfRowsToDelete As New List(Of DataRow)()

        For Each drRow As DataRowView In Me.dgXXX.SelectedItems
            listOfRowsToDelete.Add(drRow.Row)
        Next
        'delete all the rows from the datatable
        For Each drRow As DataRow In listOfRowsToDelete
            dt.Rows.Remove(drRow)
        Next


I tried this code, but SelectedItem is always -1:

        Dim index = Me.dgXXX.Items.IndexOf(Me.dgXXX.SelectedItem)

        If index > -1 Then
            dt.Rows.RemoveAt(index)
        End If


I'm not sure what to try next.  I suspect my syntax is wrong and I'm not hooking up the datatable to the datagrid properly.  The data displays on the datagrid correctly and updates correctly.  I'm just not able to delete rows from either the grid or datatable.

Here's the code I use to bind and set events for the datatable:

    Private Sub Fill_XXX_Datagrid(sFillSQL As String)

        Dim Management = New DatabaseManagement()
        dgXXX.ItemsSource = Management.LoadXXXData(sSQL).DefaultView

        ' Add a TableNewRow event handler.  Put the ID# in the new row.
        AddHandler dt.TableNewRow, New DataTableNewRowEventHandler(AddressOf NewXXX)
        AddHandler dt.RowChanged, New DataRowChangeEventHandler(AddressOf XXXRowChanged)
        AddHandler dt.RowDeleted, New DataRowChangeEventHandler(AddressOf XXXRowChanged)

    End Sub
    Private Sub XXXRowChanged(ByVal sender As Object, ByVal e As DataRowChangeEventArgs)

        Dim builder As New SqlCommandBuilder(sda)
        sda.UpdateCommand = builder.GetUpdateCommand()
        sda.Update(dt)

    End Sub

I suspect I'm missing syntax between the "Delete" button and marking that row for deletion.  XXXRowChanged never fires for a row deletion.  I'm not sure what syntax to use to get what I need to be accomplished.

Thanks.


Kris Hood


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>