【问题标题】:Pasting data into a WPF Datagrid将数据粘贴到 WPF 数据网格中
【发布时间】:2011-08-11 08:30:30
【问题描述】:

我正在尝试使用下面的代码将剪贴板中的数据粘贴到 WPF Datagrid 的底部,但它一直说索引为负数或高于行数。

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,则会引发空引用异常

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-06
      • 2011-09-15
      • 1970-01-01
      • 2010-11-08
      • 2017-12-25
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      相关资源
      最近更新 更多