文章分類

C# (27) ASP.NET (13) SQL (7) ORACLE (5) JAVA (2) SQLSERVER2008 (2) 大家都在問的事 (2) ACCESS (1) ANDRIOD (1) JQUERY (1) python (1) 雜談 (1)

關於我自己

我的相片
程式初心者 JAVA, ASP.NET, C# ,SQL

2011年7月19日 星期二

[C#]DATAGRIDVIEW--CHECKBOX取消勾選

在DATAGRIDVIEW內的CHECKBOX勾選時取消勾選
1.在DATAGRIDVIEW上加入兩個事件
    CellValueChanged以及CurrentCellDirtyStateChanged

2. 在CurrentCellDirtyStateChanged裡加入以下程式碼
            if (this.dataGridView1.IsCurrentCellDirty) //有未提交的更//改
            {
                this.dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
           
3. 在CellValueChanged事件里加入以下程式碼

   DataGridViewCheckBoxCell dgvCheckBoxCell = null;
            if (this.dataGridView1.Columns[e.ColumnIndex].Name.Equals("選取"))
            //我的CHECKBOX欄位名稱為選取
            {
                dgvCheckBoxCell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;/取得checkbox的ROW欄位
            }

 if (dgvCheckBoxCell.Value.ToString() == "True")
//以下程式碼會將CHECKBOX從勾選變成未勾選
            {               
                     DataGridViewCheckBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells["選取"]  as DataGridViewCheckBoxCell;
                     cell.EditingCellFormattedValue = false;
                     cell.EditingCellValueChanged = true;
                     cell.Value = cell.EditingCellFormattedValue;
                     return;                
                 }

1 則留言: