Ich habe ein Datagrid namens "dgvresults", und ich füge Spalten zu diesem Datagrid in Codebehind wie folgt hinzu.Lesen, welche Zeile in WPF-Datagrid ausgewählt ist
Dim column_selected As New DataGridCheckBoxColumn()
column_selected.Header = "Selected"
column_selected.Binding = New Binding("IsChecked")
dgvResults.Columns.Add(column_selected)
und
Dim column_username As New DataGridTextColumn()
column_username.Header = "User Name"
column_username.Binding = New Binding("UserName")
dgvResults.Columns.Add(column_username)
Nachdem dies geschehen ist, verwende ich diese Zeilen hinzuzufügen.
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
Die Klasse sieht wie folgt aus
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
Das Endergebnis wie dies ein wenig aussieht ...
Was ich habe zur Zeit Probleme mit, ist herauszufinden, aus, wie Sie alle überprüften Elemente im Datagrid finden und jede Zeile spaltenweise lesen können.
Jeder Rat wird hilfreich sein!
Danke!
Sie auch Linq verwenden könnten als Juan erwähnt: Import System.Linq Dim = Von u Benutzer überprüft Wo u.IsChecked = True für jedes Element in checked ... –