How to know a specific checkbox inside datagridview is checked or not?

后端 未结 4 2125
遇见更好的自我
遇见更好的自我 2020-12-11 12:13

i had a gridview which has 2 columns , one is textbox column and other is checkbox column, how to know which checkbox is checked .

相关标签:
4条回答
  • 2020-12-11 12:17
    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex > -1 && e.ColumnIndex > -1)
        label1.Text = dataGridView1.Rows[e.RowIndex].Cells["Col1"].Value.ToString();
    }
    
    0 讨论(0)
  • 2020-12-11 12:29
     private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }
    
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value))
            {
                MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
    
            }
        }
    

    these below links helped me to understand the concept of cellvalue_changed and cell_content_click.. http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx

    and by the help of these links i finally got the solution to my problem

    0 讨论(0)
  • 2020-12-11 12:32
    private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == *someIndex*)
        {
            DataGridViewCheckBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;
            if (cell != null)
            {
                if (cell.EditingCellValueChanged)
                {
                    //CheckBox has been clicked
                }
    
                //here how to get the checkBoxCell value
                var cellChecked = cell.EditingCellFormattedValue;
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-11 12:41

    it is as simple as this

    //replace the row number and column name with your own 
    if ((bool)dataGridView1.Rows[0].Cells["Column1"].Value)
     {
           //do your work
     }
    
    0 讨论(0)
提交回复
热议问题