كيفية تحديد كافة خانات الاختيار في datagridview

[ad_1]

مرحبًا، لقد كتبت رمزًا لتحديد جميع مربعات الاختيار ولكني غير قادر على القيام بذلك. الرجاء المساعدة

ما حاولت:

CheckBox HeaderCheckBox=null;
    bool IsHeaderCheckBoxClicked=false;
    private void AddHeaderCheckBox()
    {
        HeaderCheckBox= new CheckBox();
        HeaderCheckBox.Size=new Size(15,15);
        //add check ti DGV
        this.dataGridView1.Controls.Add(HeaderCheckBox);
    }
    private void HeaderCheckBoxClick(CheckBox HCheckBox)
    {
        IsHeaderCheckBoxClicked =true;
        foreach(DataGridView Row in dataGridView1.Rows)
            (DataGridViewCheckBoxCell)Row.CellStateChanged["chk"].value=HCheckBox.Checked;
    }

public void MainFormLoad(object sender, EventArgs e)
		{	

AddHeaderCheckBox();
		}

الحل 1

foreach (DataGridViewRow row in dataGridView1.Rows)
{
       DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell) row.Cells[0];
       chk.Value = !(chk.Value == null ? false : (bool) chk.Value); //because chk.Value is initialy null
}

الحل 2

مرحبا لقد كتبت هذا الرمز الذي يتغير الجميع من المربعات المحددة إلى الحالة المعاكسة لمربع الاختيار الأول، في حالتي كان مربع الاختيار في العمود الثالث من datagridview.

ج#
private void button1_Click(object sender, EventArgs e){
bool state= (bool)tblDocumentos.Rows[0].Cells[2].Value; //stores the state of the first row checkbox
    
foreach (DataGridViewRow row in mydatagridview.Rows)
    {
        row.Cells[2].Value = !state; //Sets the state of each checkbox to the opposite state of the first checkbox
    }
}

نأمل أن يساعد

[ad_2]

コメント

タイトルとURLをコピーしました