Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I had a datagridview in my Winform application which fetch data from SQl Server database
using the query below and fill it to datatable swipedata

SQL
SELECT        EmpSwipedataBank_tbl.Swipedataid AS [swipe id], EmpSwipedataBank_tbl.empid AS [Emp Id], EmpSwipedataBank_tbl.SwipeDate AS [Swipe Date],     ShiftDayDetails_tbl.DayOFWeekname AS [Day of Week], ShiftDayDetails_tbl.DayStatus AS [Day Status], EmpSwipedataBank_tbl.Intime AS [Swipe In],         EmpSwipedataBank_tbl.Outtime AS [Swipe Out], EmpSwipedataBank_tbl.ApprInstatus AS InStatus, EmpSwipedataBank_tbl.ApprOutStatus AS [Out Status],      EmpSwipedataBank_tbl.Invalue AS [In Value], EmpSwipedataBank_tbl.Outvalue AS [Out Value], EmpSwipedataBank_tbl.IsAdjusted AS [Is Adjusted],       DATEDIFF(MINUTE, EmpSwipedataBank_tbl.Intime, EmpSwipedataBank_tbl.Outtime) AS Duration,        ShiftDayDetails_tbl.TotalDuration + ShiftDayDetails_tbl.BreakDuration AS [Total Shift Time], WorkLimitDetails_tbl.MaxWorkLimit AS [MAX WORK LIMIT],'0' as Difference ,             DATEDIFF(MINUTE, EmpSwipedataBank_tbl.Intime, EmpSwipedataBank_tbl.Outtime) - WorkLimitDetails_tbl.MaxWorkLimit AS Difference1 FROM            EmpSwipedataBank_tbl INNER JOIN                    EmployeShift_tbl ON EmpSwipedataBank_tbl.empid = EmployeShift_tbl.Empid INNER JOIN            ShiftDayDetails_tbl ON EmployeShift_tbl.Shiftpk = ShiftDayDetails_tbl.ShiftPK AND                      (SELECT        DATENAME(dw, EmpSwipedataBank_tbl.SwipeDate) AS Expr1) = ShiftDayDetails_tbl.DayOFWeekname INNER JOIN          WorkLimitMaster_tbl ON ShiftDayDetails_tbl.ShiftPK = WorkLimitMaster_tbl.ShiftPk INNER JOIN       WorkLimitDetails_tbl ON WorkLimitMaster_tbl.WorkLimitPK = WorkLimitDetails_tbl.WorkLimitID AND       ShiftDayDetails_tbl.DayOFWeekname = WorkLimitDetails_tbl.WeekDayName INNER JOIN      EmployeeDesignation_tbl ON EmpSwipedataBank_tbl.empid = EmployeeDesignation_tbl.empid  WHERE        (EmpSwipedataBank_tbl.SwipeDate BETWEEN @Param1 AND @Param2) AND (EmployeeDesignation_tbl.BranchLocationPK = @Param3)  ORDER BY [swipe id]



And I i databind the data using datasource property

C#
tblNonAdjusterdata.DataSource = swipedata;



but the issue is Iam getting a readonly exception when trying to change the cellvalue of datagidview

C#
tblNonAdjusterdata.Rows[i].Cells[12].Value = Math.Truncate(b.Subtract(a).TotalMinutes);

         tblNonAdjusterdata.Rows[i].Cells[15].Value = Math.Truncate(float.Parse(tblNonAdjusterdata.Rows[i].Cells[12].Value.ToString()) - float.Parse(tblNonAdjusterdata.Rows[i].Cells[14].Value.ToString()));


Can anyone advice why my datagidview is not editable
Posted
Updated 28-Apr-14 2:12am
v2
Comments
DamithSL 28-Apr-14 8:17am    
read only for which column?
SREENATH GANGA 28-Apr-14 8:22am    
14, 15 and 12th column means duration ,difference and difference1
[no name] 28-Apr-14 9:52am    
do it readonly=false

1 solution

try with below code
C#
foreach (DataColumn col in swipedata.Columns)
{
    col.ReadOnly = false;
}
tblNonAdjusterdata.DataSource = swipedata;
 
Share this answer
 
Comments
SREENATH GANGA 29-Apr-14 4:48am    
thanks bro

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900