我有一个名为“dgvresults”的数据网格,并且我在代码隐藏中向此数据网格添加列,如下所示。阅读在WPF数据网格中选择的行
Dim column_selected As New DataGridCheckBoxColumn()
column_selected.Header = "Selected"
column_selected.Binding = New Binding("IsChecked")
dgvResults.Columns.Add(column_selected)
和
Dim column_username As New DataGridTextColumn()
column_username.Header = "User Name"
column_username.Binding = New Binding("UserName")
dgvResults.Columns.Add(column_username)
此步骤完成后,我使用它来添加行。
Private Sub run_click(sender As Object, e As RoutedEventArgs)
For Each item In SearchFunctions.Usersearch
'addrows(item)
users.Add(New User With { _
.UserName = item
})
Next
dgvResults.ItemsSource = users
End Sub
类看起来像这样
Imports System.ComponentModel
Public Class User
Implements INotifyPropertyChanged
Public Property UserName() As String
Get
Return m_UserName
End Get
Set(value As String)
m_UserName = value
End Set
End Property
Private m_UserName As String
Public Property IsChecked() As Boolean
Get
Return _IsChecked
End Get
Set(value As Boolean)
_IsChecked = value
NotifyPropertyChanged("IsChecked")
End Set
End Property
Private _IsChecked As Boolean
'Public ReadOnly Property Details() As String
' Get
' Return [String].Format("{0} was born on {1} and this is a long description of the person.", Me.Name, Me.Birthday.ToLongDateString())
' End Get
'End Property
#Region "INotifyPropertyChanged Members"
Public Event PropertyChanged As PropertyChangedEventHandler _
Implements INotifyPropertyChanged.PropertyChanged
#End Region
#Region "Private Helpers"
Private Sub NotifyPropertyChanged(propertyName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
End Sub
#End Region
End Class
最终的结果看起来有点像这样...
我目前具有是如何计算的问题是什么了解如何查找数据网格中的所有选中项目,并逐列读取每一行。
任何意见将有所帮助!
谢谢!
你也可以使用LINQ的胡安提到:进口System.Linq的点心在用户选中=从u其中u.IsChecked = True对于检查中的每个项目... –