获取数据网格列值 - WPF C#
Posted
技术标签:
【中文标题】获取数据网格列值 - WPF C#【英文标题】:Get datagrid column value - WPF C# 【发布时间】:2017-11-16 21:26:53 【问题描述】:我有一个包含两列的数据网格;好和修井。 WPF:
<DataGrid x:Name="PrintReport1" ItemsSource="Binding TableResults" AutoGenerateColumns="False" FontFamily="Tahoma" FontSize="14"
IsReadOnly="True" CanUserSortColumns="True" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" SelectionMode="Extended" SelectionUnit="Cell">
<DataGrid.Columns>
<DataGridTextColumn Header="Well" Binding="Binding WellName, UpdateSourceTrigger=PropertyChanged" IsReadOnly="True" >
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="dg_MouseLeftButtonDown_Injector" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Recommendated Workover Type" Binding="Binding WorkoverRecommendation, UpdateSourceTrigger=PropertyChanged" IsReadOnly="True" > </DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
第一列有一个eventsetter
事件,当用户单击特定单元格时,我可以通过该事件获取列值:
private void dg_MouseLeftButtonDown_Injector(object sender, MouseButtonEventArgs e)
DataGridCell cell = sender as DataGridCell;
dynamic dataObject = cell.DataContext;
string InjectorName = dataObject.WellName;
//do something...
我的问题是如何获得对应的第二列值?
例如,如果datagrid
看起来像这样:
Well Workover
Well1 ABC
Well2 DEF
如果用户点击“Well2”单元格,我如何获得相应的修井值; “防御”?
【问题讨论】:
dataObject.WorkoverRecommendation
@ASh thnx。这很容易!
【参考方案1】:
dataObject.WorkoverRecommendation
【讨论】:
以上是关于获取数据网格列值 - WPF C#的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 mvvm 模式中获取 wpf 数据网格上的动态列?
如何在 WPF C# 中的 DataGrid 的 TextBoxes 中获取选定的行值
如何在代码中从 WPF 数据网格列标题 (DataGridTemplateColumn) 获取工具提示?