如何获取dataGrid WPF的rowindex?

时间:2014-10-08 10:31:02

标签: c# .net wpf datagridview datagrid

这里使用了datagridview中的代码并且工作正常。但是如何在不使用wpf.please中的datagrid选择行的情况下获取datagrid中的rowindex帮助我做。 在我尝试的代码下面:

private int GetRowIndex(string ID)
{
  int num = -1;
  //Get the row based on ID
  foreach (DataGridViewRow dataGridVV in (IEnumerable)this.dataGridView.Cells)
  {
    if (dataGridVV.Cells[0].Value.Equals((object)ID))
        num = dataGridVV.Index;
  }
  return num;
}

1 个答案:

答案 0 :(得分:1)

@RajnathKumar,您需要正确使用WPF ...正如您的评论所说,您不应该尝试使用它,就像它是WinForms一样......它不是 WinForms并试图以这种方式使用它只会给你带来麻烦。这就是我实现您的要求的方式:

首先,数据将数据集合绑定到DataGrid.ItemsSource属性(DataGrid):

<DataGrid ItemsSource="{Binding YourCollection}" ... />

请注意,此YourCollection属性应该是您想要的任何类型的ObservableCollection ...无论类型如何,我都知道它将具有唯一的Id属性。因此,您可以使用一些基本LinQ

直接从数据绑定集合中找到所需的项目
var itemToRemove = YourCollection.FirstOrDefault(i => i.Id == someIdValue);
if (itemToRemove != null) YourCollection.Remove(itemToRemove);