2011-01-18 3 views
2

Предположим, у меня есть DataTable со столбцами A, B, C, D, E.C# datagridview в виртуальном режиме

У меня есть DataGridView, который работает в виртуальном режиме, потому что мне пришлось добавить столбец, который не связан с DataTable. Этот дополнительный столбец является списком, который объединяет значения столбцов A, B, D в один и после того, как пользователь выбирает элемент, чем я хотел бы прочитать это значение выбранного элемента для дальнейшей обработки. В методе DataGridView1_ValueChanged я пытаюсь прочитать это значение по:

DataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString() 

и компилятор выдает исключение, которое я должен использовать оператор нового для инициализации объекта. Итак, кажется, что новая строка добавлена ​​визуально, но я не могу получить к ней доступ.

Я получил stucked здесь :(

ответ

0

Я думаю, что вы спрашиваете, почему вы не можете собрать что-то вроде этого:.

using System.Data; 
using System.Windows.Forms; 

namespace ZZZ 
{ 
    class Program 
    { 
     private DataTable _table; 
     private readonly DataGridView _view = new DataGridView(); 

     public void Setup() 
     { 
      CreateTable(); 
      _view.CellValueChanged += CellValueChanged; 
     } 

     private void CellValueChanged(object sender, DataGridViewCellEventArgs e) 
     { 
      _view[e.ColumnIndex, e.RowIndex].Value.ToString(); 
     } 

     private void CreateTable() 
     { 
      _table = new DataTable("Table"); 
      _table.Columns.Add("A"); 
      _table.Columns.Add("B"); 
      _table.Columns.Add("C"); 
      _table.Columns.Add("D"); 
      _table.Columns.Add("E"); 
      _table.Columns.Add("Combined"); 
     } 

     static void Main(string[] args) 
     { 
      var p = new Program(); 
      p.Setup(); 
     } 
    } 
} 

Что действительно кажется странным, Вы должны быть в состоянии собрать это.

+0

Привет, я сделал это, чтобы уйти из виртуального режима (в конце концов, я мог бы это сделать), так как проблема времени больше не существует. В любом случае ** спасибо ** за ваше драгоценное время! – Ray

Смежные вопросы