Вставка данных в WPF Datagrid - PullRequest
       0

Вставка данных в WPF Datagrid

0 голосов
/ 11 августа 2011

Я пытаюсь вставить данные из буфера обмена в нижнюю часть таблицы данных 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, это вызывает исключение нулевой ссылки

Любая помощь очень ценится.Спасибо

1 Ответ

1 голос
/ 11 августа 2011

На мой взгляд, лучший подход - создать дополнительные объекты данных для добавления в базовую коллекцию, с которой (как я предполагаю) связана ваша сетка.Если сетка ItemsSource имеет значение ObservableCollection<T>, тогда новые строки появятся автоматически

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...