【问题标题】:Silverlight Datagrid New Row Goes to Bottom and Screws Up Multi-Delete LogicSilverlight Datagrid 新行到底部并搞砸了多删除逻辑
【发布时间】:2016-06-08 11:31:42
【问题描述】:

我有一个 Silverlight 4 应用程序,我的任务是对其进行一些更改。我宁愿在支持的东西上重做它,但目前这不是一个选择。我有一个数据网格,我添加了一个按钮,使用来自两个组合框的值将新行插入到数据网格和数据库表中:

Private Sub btnAddAccountGroupLink_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles btnAddAccountGroupLink.Click
    Dim sv_ag As Com_AccountGroup = cbACCT_GROUP.SelectedValue
    Dim sv_cf As CS_FUND = cbACCT_CD.SelectedValue

    AccountGroupLinkData.DataView.Add(New Com_AccountGroupLink() With {.ACCT_GROUP = sv_ag.ACCT_GROUP, .ACCT_CD = sv_cf.ACCT_CD})
    AccountGroupLinkData.SubmitChanges()

End Sub

添加行时,它会添加到数据网格的底部,而不是正确排序的位置。这也破坏了我从数据网格中删除选定索引的代码:

Private Sub btnRemoveSelected_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnRemoveSelected.Click
    If MessageBox.Show("Are you sure you want to delete the selected records?", "Confirmation", MessageBoxButton.OKCancel) = MessageBoxResult.OK Then
        Dim indexesToDelete As New List(Of Integer)

        For i As Integer = 0 To AccountGroupLinkData.DataView.Count - 1
            If AccountGroupLinkData.DataView(i).IsSelected Then
                indexesToDelete.Add(i)
            End If
        Next i

        For d As Integer = 0 To indexesToDelete.Count - 1
            AccountGroupLinkData.DataView.RemoveAt(0)
        Next d

        AccountGroupLinkData.SubmitChanges()

    End If

End Sub

因此,如果我删除最下面一行,它实际上会删除该行应该所在的行。

如何强制数据网格更新或在正确位置显示行?

【问题讨论】:

    标签: vb.net silverlight datagrid


    【解决方案1】:

    我通过在 SubmitChanges 之后添加此代码解决了这个问题:

    NavigationService.Refresh()
    

    这会刷新 Silverlight 页面,并且该行会弹出到正确的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2010-10-15
      • 2012-04-14
      相关资源
      最近更新 更多