Reputation: 3473
Hi I have a datagrid control(not datagridview control) placed in a windows form(Vb) it have 10 columns. I am trying to input decimal value in one of the column but it is resetting its value. For ex:
I have 31 in a cell and trying to edit it to 20.5 as soon as i change the cell it resets back to 31. If i input any integer value like 21 it accepts the value.
_da = New OleDbDataAdapter("SELECT EMPDETAILPERSONAL.EMPCODE, EMPDETAILPERSONAL.EMPNAME, EMPDETAILPERSONAL.EMPDEPT, EMPDETAILPERSONAL.EMPDOB, 0 AS AGE, " & _
" EMPDETAILPERSONAL.EMPDOJ, EMPDETAILPERSONAL.EMPPANNP, " & Date.DaysInMonth(selYear, selMonth) & " AS NOD, " & Date.DaysInMonth(selYear, selMonth) & " AS LD, CSDEPT.CSDEPTNAME, EMPDETAILPERSONAL.EMPDESG, " & _
" EMPDETAILPERSONAL.EMPSALACC, EMPDETAILPERSONAL.EMPPFACC, EMPDETAILPERSONAL.EMPPPFACC, EMPDETAILPAYROLL.EMPBASIC, EMPDETAILPAYROLL.EMPGPA, CDbl(0) AS CONS, " & _
" EMPDETAILPAYROLL.EMPDA, EMPDETAILPAYROLL.EMPHRA, EMPDETAILPAYROLL.EMPTA, EMPDETAILPAYROLL.EMPMISCADD, EMPDETAILPAYROLL.EMPGRSAL, " & _
" EMPDETAILPAYROLL.EMPPFMEM, EMPDETAILPAYROLL.EMPITAX, EMPDETAILPAYROLL.EMPMISCDED, EMPDETAILPAYROLL.EMPNETSAL, " & _
" IIf(EMPLOAN.LOANAMTINST Is Null,0,EMPLOAN.LOANAMTINST) AS LOAN, CSDESIGNATION.CSDESGNAME, EMPDETAILPAYROLL.EMPINCDATE, EMPDETAILPAYROLL.EMPINCAPP, " & _
" EMPDETAILPAYROLL.EMPBASIC AS o_basic, EMPDETAILPAYROLL.EMPGPA AS o_gpa, EMPDETAILPAYROLL.EMPDA AS o_da, " & _
" EMPDETAILPAYROLL.EMPHRA AS o_hra, EMPDETAILPAYROLL.EMPTA AS o_ta, EMPDETAILPAYROLL.EMPPFMEM AS o_pf, EMPDETAILPAYROLL.EMPPFEMPL AS o_pf_e, " & _
" EMPDETAILPAYROLL.EMPPPFEMPL AS o_ppf_e, EMPDETAILPAYROLL.EMPPFEMPL, EMPDETAILPAYROLL.EMPPPFEMPL, " & _
" EMPDETAILPAYROLL.EMPMISCADD AS o_add, EMPDETAILPAYROLL.EMPITAX AS o_tax, EMPDETAILPAYROLL.EMPMISCDED AS o_less, " & _
" IIf(EMPLOAN.LOANAMTINST Is Null,0,EMPLOAN.LOANAMTINST) AS o_loan, CDbl(0) AS EMPCONTRI,EMPDETAILPAYROLL.EMPCCA AS CCA,EMPDETAILPAYROLL.EMPMEDALL AS MEDALL,EMPDETAILPAYROLL.EMPOTHERALL AS OTHERALL,EMPDETAILPAYROLL.EMPESI AS ESI,EMPDETAILPAYROLL.EMPGPF AS GPF,EMPDETAILPAYROLL.EMPPAYSCALE AS PAYSCALE " & _
" FROM EMPLOAN RIGHT JOIN (((EMPDETAILPERSONAL INNER JOIN CSDEPT ON EMPDETAILPERSONAL.EMPDEPT = CSDEPT.CSDEPTID) " & _
" INNER JOIN EMPDETAILPAYROLL ON (EMPDETAILPERSONAL.EMPDESG = EMPDETAILPAYROLL.EMPDESG) AND (EMPDETAILPERSONAL.EMPDEPT = EMPDETAILPAYROLL.EMPDEPT) " & _
" AND (EMPDETAILPERSONAL.EMPCODE = EMPDETAILPAYROLL.EMPCODE)) INNER JOIN CSDESIGNATION ON EMPDETAILPERSONAL.EMPDESG = CSDESIGNATION.CSDESGID) " & _
" ON EMPLOAN.EMPCODE = EMPDETAILPERSONAL.EMPCODE " & _
" WHERE EMPDETAILPERSONAL.EMPDOL Is Null ORDER BY IIF(EMPDETAILPERSONAL.EMPDESG = 1, '10','20') + EMPDETAILPERSONAL.EMPCODE", _con)
_da.Fill(_dtEmp)
dgEmp.DataSource = _dtEmp
There is nothing written in cellchanged event. Even value is resetting before triggering cellchanged event. Please help. Thanks
Upvotes: 0
Views: 656
Reputation: 1598
You should make sure that the corresponding column of your datatable
is not of an integer type. If the given column is some kind of integer
this condition is then reflected in the datagrid
column and when you enter values with decimals they are casted back to integer
.
Upvotes: 1