2010-03-20 2 views
2

У меня есть DataGridView, в котором один столбец содержит пользовательский класс, который я установил с помощью:Как обрабатывать редактирование пользовательских типов в C# datagridview?

dgvPeriods.Columns[1].ValueType = typeof(ExDateTime); 

Он соорудил для корректного отображения с помощью обработки события CellFormatting, но я не уверен, что событие для обработки для редактирования ячейки. В отсутствие чего-либо я получаю FormatException, поскольку datagridview пытается преобразовать String в ExDateTime, когда я пытаюсь переместить фокус из отредактированной ячейки. Я попытался добавить преобразование типа в свой собственный класс ExDateTime:

public static implicit operator ExDateTime(string b) 
{ 
    return new ExDateTime(b); 
} 

Но это не сработало. Я также пытался обработать событие DataError, но это, похоже, срабатывает слишком поздно. Данные datagridview не привязаны к базе данных.

ответ

0

Оказывается, мне нужно обрабатывать событие CellParsing:

e.Value = new ExDateTime(e.Value.ToString()); 
e.ParsingApplied = true; 
0

попробовать обработку CellValidating события сетки в

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