获取数据表格中所选项的行索引

3

我正在尝试获取绑定到 DataTable 的数据表中所选项的行索引。

以下是我的尝试(基于这个SO回答):

private void ShowRowIndex_Btn(object sender, RoutedEventArgs e)
{
    int editedRowIndex = myDataGrid.Items.IndexOf(myDataGrid.CurrentItem);
    MessageBox.Show(editedRowIndex.ToString());
}

<DataGrid CellEditEnding="PriceListDG_CellEditEnding"  RowEditEnding="MyDataGrid_RowEditEnding" Name="priceListDataGrid" />

很不幸,我总是得到-1作为结果。


2
如果您能提供一个 [mcve],那就太棒了。 - jazb
你实际上想要实现什么目标?直接将某些 Winforms 风格的代码移植到 WPF 可能不是最简单的方法。 - Peregrine
1
请查看此链接:https://dev59.com/ApXfa4cB1Zd3GeqPl-gk#36529374 - Ramesh Verma
@ikerbera 不是的,我的数据表不为空,我写了 var dg = sender as DataGrid,从你给出的链接中可以看到,它返回 dg 为空。我猜想这是因为你提供的答案与我的问题不同。 - MilvNutt
@ikerbera 不是的,我有一个与此事件相关联的按钮,而不是网格。 - MilvNutt
显示剩余5条评论
1个回答

2

如果你想获取当前正在编辑的行的索引,可以直接在 RowEditEnding 事件中实现:

private void OnRowEditEnding(object sender, .DataGridRowEditEndingEventArgs e)
{
    var index = e.Row.GetIndex();
}

你需要添加命名空间:using System.Linq; - Isma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接