【发布时间】:2011-07-04 12:27:36
【问题描述】:
我正在尝试获取 DataGrid 中选定行的每一列的值。这就是我所拥有的:
private void dataGrid1_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
DataGrid dg = sender as DataGrid;
Console.WriteLine(dg.SelectedCells[0].ToString());
}
但这不起作用。如果我执行SelectedCells.Count,那么我会得到正确的列数,但我似乎无法真正获得所选行中这些列的值。我已经尝试了很长一段时间没有运气!这是我的 XAML:
<Grid>
<DataGrid CanUserAddRows="True" AutoGenerateColumns="False" Height="200" HorizontalAlignment="Stretch" Margin="12,12,79,0" Name="dataGrid1" VerticalAlignment="Top" Width="389" DataContext="{Binding}" CanUserResizeColumns="False" CanUserResizeRows="False" HorizontalContentAlignment="Stretch" PreviewMouseDoubleClick="dataGrid1_PreviewMouseDoubleClick" CellEditEnding="dataGrid1_CellEditEnding">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=UserID}"
Header="User ID" Width="SizeToHeader" />
<DataGridTextColumn Binding="{Binding Path=UserName}"
Header="User ID" Width="SizeToHeader" />
</DataGrid.Columns>
</DataGrid>
</Grid>
理想情况下,我希望通过rowData.UserID 之类的操作来访问数据,但我似乎无法解决。有很多关于使用 DataGridView 的教程和帮助,但我没有使用这个。
【问题讨论】:
-
根据我的发现,最简单的解决方案:stackoverflow.com/a/42013760/7103438