Как получить значение флажка внутри datagridview?

#checkbox

#флажок

Вопрос:

Я хочу проверить, установлен флажок или нет внутри «dataGridView1». На основе значения флажка я хочу вычислить rtn amp; amt.

 int rtn = 0;
int amt=0;
if (str == "GRI")
{
    for (int n = 0; n <= dataGridView1.RowCount - 1; n  )
    {
        rtn = 0;
        amt = 0;
        bool chk =(bool)dataGridView1.Rows[n].Cells[4].Value;
        if (chk)
        {
            dataGridView1.Rows[n].Cells[2].ReadOnly = false;
            rtn  =Convert.ToInt32(dataGridView1.Rows[n].Cells[2].Value);
            amt  = Convert.ToInt32(dataGridView1.Rows[n].Cells[2].Value) * Convert.ToInt32(dataGridView1.Rows[n].Cells[3].Value);
        }
        else
        {

        }
    }
}
totpcslbl.Text = rtn.ToString();
totamtrtnlbl.Text = amt.ToString();
  

Ответ №1:

попробуйте поместить его в событие Cellclick?

   private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == 0 amp;amp; e.RowIndex >= 0)
        {
            DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];

            if (chk.Value == chk.TrueValue)
              {
                //your code here
               }
            else
              {
               //do nothing
              }
         }
    }