[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]
コメント