2013-12-11 3 views
0

У меня есть разбор данных в DataGridView клетку, как это,Не может сравнить два значения DataGridView ячейки

Me.DGV.Item(8, Me.DGV.RowCount - 2).Value = Decimal.Parse(datatab.Item(5, i).Value) 
Me.DGV.Item(9, Me.DGV.RowCount - 2).Value = Decimal.Parse(datatab.Item(5, i).Value) 

Затем, в конце процесса, я сравниваю его причины проверок (Поскольку элемент в ячейке [9 , строка] может редактироваться. Сравнение точно так же как это,

If Decimal.Parse(Me.DGV.Item(9, i).Value) = Decimal.Parse(Me.DGV.Item(8, i).Value + "000") Then 
    MessageBox.Show("Jumlah tidak sesuai dengan Nominal", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning) 
    Exit Function 
End If 

Таким образом, результат может правда, пока не имеют одинаковое значение или нет в противоположном состоянии. Но в моем случае, он возвращает ложное значение в то время как значения равное и истинное значение, а значения не равны. Кто-нибудь это понял?

ответ

0

Поместите контрольную точку на линии, если и проверить обе стороны сравнения равенства. Вообще, если вы хотите добавить три нуля в конце десятичного числа, что вы относитесь к функциональны, удобнее манипулировать числу себя, как только это уже разобрано. Так что я хотел бы сделать что-то вроде

If Decimal.Parse(Me.DGV.Item(9, i).Value) = Decimal.Parse(Me.DGV.Item(8, i).Value) * 1000 Then 

Кроме того, убедитесь, что значения из сетки имеют правильный формат для входа, Decimal.Parse потребности.

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