将数据粘贴到WPF数据网格中

本文关键字:数据 数据网 网格 WPF | 更新日期: 2023-09-27 18:05:05

我试图将数据从剪贴板粘贴到底部使用下面的代码WPF数据网格,但它一直说索引是负的或高于行数。

CanUSerAddRows设置为true

string text = Clipboard.GetText();
string[] line = Regex.Split(text , ",");
foreach (string word in line)
{
   int index = DgInvoiceLines.Items.Count;
   string prodCode = word ;
   DataGridCell ProdCodeCell = GetCell(index, 0);
   DataGridCellInfo pcell = new DataGridCellInfo(ProdCodeCell);
   string ProdCellContentType = pcell.Column.GetCellContent(pcell.Item).GetType().Name.ToString();
   if (ProdCellContentType == "TextBlock") ((TextBlock)cell.Column.GetCellContent(cell.Item)).Text = prodCode;
   else if (ProdCellContentType == "TextBox") ((TextBox)cell.Column.GetCellContent(cell.Item)).Text = prodCode;
   DataGridCell CommentCodeCell = GetCell(index, 12);
   DataGridCellInfo Ccell = new DataGridCellInfo(CommentCodeCell);
   string CommentCellContentType = Ccell.Column.GetCellContent(Ccell.Item).GetType().Name.ToString();
   if (CommentCellContentType == "TextBlock") ((TextBlock)cell.Column.GetCellContent(cell.Item)).Text = "Ord";
   else if (CommentCellContentType == "TextBox") ((TextBox)cell.Column.GetCellContent(cell.Item)).Text = "Ord";
   index = index + 1;
}

编辑

如果我将索引更改为0,它会抛出空引用异常

任何帮助都非常感激。由于

将数据粘贴到WPF数据网格中

在我看来,最好的方法是创建额外的数据对象,将其添加到(我假设)绑定到网格的底层集合中。如果栅格ItemsSource为ObservableCollection<T>,则新行将自动出现