阻止用户检查dataGridViewcheckBoxColumn,如果选择并根据选中的行

时间:2017-01-03 08:40:55

标签: c# datagridview

请原谅我,如果我的问题不完全清楚但我在dataGridView中遇到了这个问题,那就是我有dataGridView,它包含存储在库存中的项目的数量和到期日期。假设我有两个相同项目的数量,但它们在过期日期不同,我想卖掉旧的过期日期项目,所以我想只检查dataGridView中包含旧项目的那一行,但在我的情况下,我可以选择这两行。 /> 最后,我想将已检查行的过期日期单元格值存储到字符串变量中,以便在清单的更新查询中使用它。

enter image description here

1 个答案:

答案 0 :(得分:0)

答案是在我的问题上找到并测试的,并且它工作得很好,但仍然不知道如何将过期日期的细胞对象存储到变量中

['2 Dec 2016', '4 Nov 2016', '7 Oct 2016', '2 Sep 2016', '5 Aug 2016', '8 Jul 2016', '3 Jun 2016',...]
['US Change in NonFarm Payrolls', 'US Change in NonFarm Payrolls', 'US Change in NonFarm Payrolls', 'US Change in NonFarm Payrolls',...]

答案是@Nilantha Ekanayake在这个问题Datagridview forcing only one checkbox to be selected in a column中 用于存储过期的代码将日期存入我添加的字符串变量中:

private void grdRegClass_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        if (grdRegClass.Columns.IndexOf(grdRegClass.Columns["Status"]) == e.ColumnIndex)
        {
            int currentcolumnclicked = e.ColumnIndex;
            int currentrowclicked = e.RowIndex;
            foreach (DataGridViewRow dr in grdRegClass.Rows)
            {
                dr.Cells[currentcolumnclicked].Value = false;
            }
            grdRegClass.CurrentRow.Cells[currentrowclicked].Value = true;
            string expire= exDatedgv.CurrentRow.Cells["itmexDateCol"].Value.ToString();  
        }
    }