2011-08-11 40 views
0

クリップボードからWPF Datagridの下に次のコードを使用してデータを貼り付けようとしていますが、そのインデックスが負の値か、WPF Datagridへのデータの貼り付け

CanUSerAddRowsは私が0にインデックスを変更する場合は、すべてのヘルプが非常高く評価され、null参照の例外

をスロー真

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; 
} 

EDIT

に設定されています。 ありがとう

答えて

1

私の意見では、グリッドがバインドされている基になるコレクションに追加する追加のデータオブジェクトを作成することをお勧めします。 グリッドItemsSourceがObservableCollection<T>の場合、新しい行が自動的に表示されます

関連する問題