I want to set a column to read only/non-editable when a checkbox is marked as closed. I'm not sure how to do that.
Here is the code for the datagrid. I think it goes in the if (te.Closed) area of the code but not sure.
private void DgTimecards_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 15) { TimecardEntry te = dgTimecards.Rows[e.RowIndex].DataBoundItem as TimecardEntry; if (te.Closed) return; ListBoxModal frm = new ListBoxModal("Select Other Reason", te.available_OTHERREASONS, te.curr_OTHERREASON); if (frm.ShowDialog() == DialogResult.OK) { te.curr_OTHERREASON = frm.SelectedItem as REFERENCE_OTHERREASON; if (te.AltJobNum != "") { if (te.curr_OTHERREASON != null && te.prev_OTHERREASON != null && (te.curr_OTHERREASON.OTHERREASON_ALTJOBNUM != te.prev_OTHERREASON.OTHERREASON_ALTJOBNUM || te.curr_OTHERREASON.OTHERREASON_CUSTOMER != te.prev_OTHERREASON.OTHERREASON_CUSTOMER)) te.mtc.ALTJOBNUM = ""; } if (te.curr_OTHERREASON.OTHERREASON_ALTJOBNUM == 1 || te.curr_OTHERREASON.OTHERREASON_CUSTOMER == 1) { Cursor.Current = Cursors.WaitCursor; SearchJobFrm altJobFrm = new SearchJobFrm(te.curr_OTHERREASON.OTHERREASON_CUSTOMER == 1 ? te.curr_OTHERREASON.OTHERREASON_CODE : "", lastSelectedJobNum); if (altJobFrm.ShowDialog() == DialogResult.OK) te.mtc.ALTJOBNUM = altJobFrm.SelectedJobNum; else return; lastSelectedJobNum = altJobFrm.SelectedJobNum; } te.mtc.OTHERREASON = te.curr_OTHERREASON.VALUE; te.prev_OTHERREASON = te.curr_OTHERREASON; btnAltJob.Visible = te.curr_OTHERREASON == null ? false : (te.curr_OTHERREASON.OTHERREASON_ALTJOBNUM == 1 || te.curr_OTHERREASON.OTHERREASON_CUSTOMER == 1); dc.SubmitChanges(); te.validateForEOD(true); lblTC_Error.Visible = te.ErrorText != ""; lblTC_Error.Text = te.ErrorText; dgTimecards.Rows[e.RowIndex].DefaultCellStyle.BackColor = te.ErrorText == "" ? Color.White : Color.LightPink; dgTimecards.InvalidateRow(e.RowIndex); PopulateEmployeeSummary(); CalculateTimecardTotals(); } } }