如何知道datagridview中的特定复选框是否被检查? [英] How to know a specific checkbox inside datagridview is checked or not?

查看:191
本文介绍了如何知道datagridview中的特定复选框是否被检查?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个gridview有2列,一个是textbox列和其他是复选框列,如何知道检查哪个复选框。

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

如图所示,假设任何复选框是检查,我想显示相应的文本框值到那个复选框。

As shown in image ,suppose any of the checkbox is checked , i want to display that the corresponding text box value to that checkbox.

任何人都可以帮助我?我试过下面的代码,但我面临的问题是一旦我点击下一个复选框,则显示值,然后显示之前选中的复选框值。

can anyone help me?i tried the below code , but problem which i am facing is that , the values is getting displayed once i clicked to next checkbox then the previously checked checkbox values is getting displayed..

dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);

  void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {  
        object tempObj = dataGridView1.Rows[e.RowIndex].Cells[1].Value;
         dataGridView1_CurrentCellDirtyStateChanged(sender, e);

        if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value))
        {
            MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());

        }
    }


推荐答案

 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());

        }
    }

以下链接帮助我理解cellvalue_changed和cell_content_click ..的概念。
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx

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

这篇关于如何知道datagridview中的特定复选框是否被检查?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆