閱讀819 返回首頁    go 阿裏雲 go 技術社區[雲棲]


DataGridView 添加checkbox

DataGridViewCheckBoxColumn newColumn = new DataGridViewCheckBoxColumn();
newColumn.HeaderText = "選擇";
dataGridView1.Columns.Add(newColumn);
這樣添加的列是放在最後一列,也許你希望它在其它列,例如第二列,那麼可以:
dataGridView1.Columns.Insert(1, newColumn);
DataGridView中的DataGridViewCheckBoxColumn是很難控製的,當 DataGridView 未綁定到數據時,對單元格的編輯會在用戶移到另一個單元格時被交DataGridView.IsCurrentCellDirty 屬性,如果當前單元格有未提交的更改,為 true;否則為 false。處理方法
if (dataGridView.IsCurrentCellDirty)       
{//將當前單元格中的更改提交到數據緩存,但不結束編輯模式。                 dataGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
在winfrom 的DataGridView中添加一列,ColumnType屬性設置為DataGridViewCheckBoxColumn。
假設設置Name屬性為SelIndex
1、選擇全部列
        private void btnSelALl_Click(object sender, EventArgs e)
        {
            DataTable dt = (dataGridView1.DataSource as DataTable);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt.Rows[i]["SelIndex"] = 1;
            }
        }
2、取得某一選擇行的值
private void btnGetRows_Click(object sender, EventArgs e)
        {
            //刷新
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
           //取得選中的行
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (dataGridView1.Rows[i].Cells["SelIndex"].Value.ToString() == "1")
                {
                    //相應的操作
                  MessageBox.Show( dataGridView1.Rows[i].Cells["Test"].Value.ToString());
                }
            }
        }

最後更新:2017-04-03 05:46:49

  上一篇:go 常見前端開發麵試題
  下一篇:go 在Java中,顯示操作係統相關信息