Проблема с валидацией в DataGridView при вызове метода Clear
От: sfes  
Дата: 16.05.07 14:23
Оценка:
Привет всем!
У меня такая странная проблема, что я просто не знаю с какой стороны подойти...
Я запрограммировал валидацию данных в гриде при помощи методов CellValidating и CellValidated.

Грид содержит числа double.

К примеру, это
1.0145
и 0.4034

Этот грид не связан с базой и данные в него заносятся вручную.
А потом в процедуре валидации переписываются в массив {1.0145; 0.4034}.

А когда программа обрабатывает и изменяет массив, то все строки грида удаляются и создаются новые с новыми данными.
К примеру, мой новый массив получается таким {1.0609; 0.4180}.

И вот в этот момент, когда вызывается
Mygrid.Rows.Clear();

происходит событие валидации
private void Mygrid_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)


И вот тут (внимание!), хотя и
Value
ячейки, и
Mygrid.Rows[i].Cells[j].FormattedValue
содержат одно и то же (1.0145),
параметр [code]e.FormattedValue[.code] равен "1"!

В результате (т.к. после успешной валидации у меня обновляется массив) данные в массиве портятся {1; 0.4180}

В общем, вот такой вот бред!

Если вам хватило сил прочитать мое сумбурное изложение проблемы, и вы знакомы с самим механизмом реализации валидации
в DataGridView через вышеуказанные события, помогите пожалуйста разобраться в этой проблеме.

Сергей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.