【发布时间】: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