【问题标题】:WPF VB.Net Datagrid Value from a specific Cell in FullRow Selection Mode?全行选择模式下特定单元格的 WPF VB.Net Datagrid 值?
【发布时间】:2016-08-27 06:40:03
【问题描述】:

如何使用选择模式 FullRow 从数据网格中的特定单元格获取值?

目前我使用此命令,但如果我手动选择单元格,它只会显示值:

Public Sub MenuItem_Click(sender As Object, e As RoutedEventArgs)
    Dim selectedData As String = ""
    Dim wert As String = ""
    For Each dataGridCellInfo In myGridView.SelectedCells()
        Dim pi As Reflection.PropertyInfo = dataGridCellInfo.Item.[GetType]().GetProperty(dataGridCellInfo.Column.Header.ToString())
        Dim value = pi.GetValue(dataGridCellInfo.Item, Nothing)
        selectedData += dataGridCellInfo.Column.Header + ": " + value.ToString() + vbLf
        wert = value.ToString
    Next
    MessageBox.Show(selectedData)

End Sub

但我不想一直手动选择单元格。 我只想单击该行中的任何单元格并始终从单元格“Pfad”中获取值并将其放入字符串中。

XAML 数据网格代码:

<DataGrid Name="myGridView" SelectionUnit="Cell" IsReadOnly="True" ItemsSource="{Binding}" Grid.ColumnSpan="3" Background="#FFA4A4A4" BorderThickness="2" BorderBrush="#FF6A6F77" AutoGenerateColumns="False" Margin="10,31,10,149.714" GridLinesVisibility="None">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Track" Binding="{Binding Path=Track}" Width="100"/>
            <DataGridTemplateColumn Header="">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Image Width="50" Height="50" VerticalAlignment="Center" HorizontalAlignment="Center" Source="{Binding Path=Image}"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
            <DataGridTextColumn Binding="{Binding Path=Endung}" Width="100" Header=" Container"/>
            <DataGridTextColumn Binding="{Binding Path=Album}" Width="100" Header="Album"/>
            <DataGridTextColumn Binding="{Binding Path=Bitrate}" Width="100" Header="Bitrate"/>
            <DataGridTextColumn Binding="{Binding Path=Pfad}" Width="100" Header="Pfad"/>
        </DataGrid.Columns>
    </DataGrid>

代码隐藏:

    Public Structure Austauscher

    Dim files As New ObservableCollection(Of Austauscher)

    Private _track As String
    Private _image As BitmapImage
    Private _album As String
    Private _pfad As String
    Private _bitrate As String
    Private _endung As String


    Property Track() As String
        Get
            Return _track
        End Get
        Set(ByVal Value As String)
            _track = Value
        End Set
    End Property
    Property Image As BitmapImage
        Get
            Return _image
        End Get
        Set(ByVal Value As BitmapImage)
            _image = Value
        End Set
    End Property
    Property Album() As String
        Get
            Return _album
        End Get
        Set(ByVal Value As String)
            _album = Value
        End Set
    End Property
    Public Property Pfad As String
        Get
            Return _pfad
        End Get
        Set(ByVal Value As String)
            _pfad = Value
        End Set
    End Property
    Property Bitrate As String
        Get
            Return _bitrate
        End Get
        Set(ByVal Value As String)
            _bitrate = Value
        End Set
    End Property
    Property Endung As String
        Get
            Return _endung
        End Get
        Set(ByVal Value As String)
            _endung = Value
        End Set
    End Property

End Structure

【问题讨论】:

    标签: wpf vb.net data-binding wpfdatagrid fullrowselect


    【解决方案1】:

    首先你需要在你的datagridview上打开de事件“CellClick”并输入以下代码:

     If (e.ColumnIndex <> -1) And (e.RowIndex <> -1) Then
           Dim selectedCell as string = ""
           selectedCell = myGridView.rows(e.rowIndex).cells("numberOfCell").valeu 
     End If
    
    • 如果此答案对您有所帮助。请在正确答案处标记。

    【讨论】:

    • 抱歉,我在 WPF datagridview 中没有找到任何 CellClick 事件。
    • 在datagrid中双击并在de下拉菜单中单击以选择事件,然后选择de cellClick
    • 不,我已经检查过了。在 Windows 窗体中有一个称为 CellClick 的事件,但在 WPF 中没有。你也可以在这里查看:Microsoft Datagrid Event
    • 对不起,伙计!我造成了很大的混乱!我没有意识到那是 WPF,对不起,在这种情况下我无法帮助你:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 2016-01-11
    • 2014-11-01
    • 2017-11-29
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多