这里使用了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;
}
答案 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);