如何从wpf datagrid中删除一行

时间:2015-04-07 09:33:35

标签: c# wpf

我在DataGrid1中的当前行

DataGridRow row = (DataGridRow)DataGridMain.ItemContainerGenerator.ContainerFromIndex(i);

但我想删除它

DataGrid1.Rows.Remove(row);

但是最后一段代码在WPF上不起作用,我怎么能重写呢?

  

row.Delete();不起作用

2 个答案:

答案 0 :(得分:2)

您应该从ItemsSource中删除该行,并且将从您的网格中删除行。

itemsSource.Remove(itemsSource[i])

其中itemsSource是您网格的itemsSource

答案 1 :(得分:1)

好吧,如果你知道你的行的索引"我"如果你填充你的DataGrid项目属性(不使用ItemsSource) - 删除很简单:

        //if creating is:
        DataGridMain.Items.Add("one");
        DataGridMain.Items.Add("two");
        DataGridMain.Items.Add("three");
        //remove is:
        DataGridMain.Items.RemoveAt(1);

如果您使用了DataGrid.ItemsSource属性,那么请从ItemsSource对象中逐个删除项目:

        //if creating is:
        var rows = new ObservableCollection<string> { "one", "two", "three"};
        DataGridMain.ItemsSource = rows;
        //remove is:
        rows.RemoveAt(1);