DataGrid获取选定行的列值

我正在尝试获取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的教程和帮助,但是我没有使用它。

回答:

要获取选定的行,请尝试:

IList rows = dg.SelectedItems;

然后,您应该能够从行项目中获取列值。

DataRowView row = (DataRowView)dg.SelectedItems[0];

然后:

row["ColumnName"];

以上是 DataGrid获取选定行的列值 的全部内容, 来源链接: utcz.com/qa/403062.html

回到顶部