在数据网格的特定索引处添加一行

Add a row at a specific index of the datagrid

在我的 Silverlight Datagrid 中,我有一个 Totals 行,它汇总了前面所有行中的值。我需要让用户向网格中添加新行,但我需要它显示在总计行之前,尽管总计行已经显示在 Datagrid 中。

这就是我在 Datagrid (QuotationDG) 中插入新行的方式:

  CultureInfo provider = new CultureInfo("en-US");
  Object[] myrow = new Object[QuotationDG.Columns.Count];

        for (int i = 0; i < QuotationDG.Columns.Count; i++ )
        {

            myrow[i] = Convert.ChangeType("", typeof(object), provider);

            i++;
        }
        MyData.Add(myrow); // MyData is an Observable collection of Object[]
        QuotationDG.ItemsSource = MyData;

用户编辑空行以输入数据。

如何在 MyData 的特定索引处输入这样一行?

您可以使用 Insert 方法而不是 Add 方法在特定索引处插入一行。

MyData.Insert(2, myrow);

您可以在以下 link 中找到有关 ObservableCollection 中可用的各种方法的更多信息:https://msdn.microsoft.com/en-us/library/ms668604(v=vs.110).aspx