Привет всем!
У меня такая странная проблема, что я просто не знаю с какой стороны подойти...
Я запрограммировал валидацию данных в гриде при помощи методов
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 через вышеуказанные события, помогите пожалуйста разобраться в этой проблеме.
Сергей.