在datagridview中编辑数据绑定字段 [英] editing the databound field in datagridview
本文介绍了在datagridview中编辑数据绑定字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的Winform应用程序中有一个datagridview,它使用下面的查询从SQl Server数据库获取数据
并将其填充到datatable swipedata
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
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
tblNonAdjusterdata.DataSource = swipedata;
但问题是我在尝试更改datagidview的cellvalue时获得了一个readonly异常
but the issue is Iam getting a readonly exception when trying to change the cellvalue of datagidview
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()));
任何人都可以建议为什么我的datagidview不可编辑
Can anyone advice why my datagidview is not editable
推荐答案
尝试下面的代码
try with below code
foreach (DataColumn col in swipedata.Columns)
{
col.ReadOnly = false;
}
tblNonAdjusterdata.DataSource = swipedata;
这篇关于在datagridview中编辑数据绑定字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文