2011-12-29 72 views
0

我想在DataGridView的每一行中添加一個複選框。 DataGridView將被動態填充,當它被填充時,它應該有一個名爲「Select」的新列,並且該列應該包含複選框。將複選框添加到DataGridView並選中/取消選中它們

我用這個代碼,但它不工作。

DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn(); 
clsCol1.HeaderText = "Select"; 
clsCol1.ValueType = typeof(System.String); 
this.dataGridView1.Columns.Add(clsCol1); 

我已經試過這個代碼也

dataGridView1.Columns.Clear(); DataGridViewCheckBoxColumn c = new DataGridViewCheckBoxColumn(); 
{ 
    column.HeaderText = "Selected"; 
    column.Name = "Selected"; 
    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; 
    column.FlatStyle = FlatStyle.Standard; 
    column.ThreeState = false; 
    column.CellTemplate = new DataGridViewCheckBoxCell(); 
    column.CellTemplate.Style.BackColor = Color.Beige; 
} 
dataGridView1.Columns.Insert(0, column) 

DataGridView填充我希望有兩個按鈕來檢查所有,並取消所有複選框。

我對C#很缺乏經驗,所以任何答案都將非常感激。

+1

待辦事項請注意'DataGridView'是一個* DataGrid控件。前者意在取代後者,但兩者仍然可用。清楚你正在使用哪一個是很重要的。 – 2011-12-29 12:18:10

+0

你有答案嗎?如果你確實這樣做了,將其標記爲答案,如果你自己找到了答案,你可以編輯你的帖子來解釋你做了什麼。如果您仍然在尋找如何解決您的問題,可以提供更多詳細信息。 (你可以爲你所有的問題做這個) – 2011-12-30 15:41:43

回答

1

上的複選框的CheckChanged event,您需要選擇/取消選擇所有

for (int i = 0; i < dataGridView1.Rows.Count; i++) 
{ 
    dataGridView1.Rows[i].Cells["CheckBoxColumnName"].Value = chkSelectAll.Checked; 
} 

之後,你可能要考慮取消選中全選複選框,當DataGridView中的一行沒有被選中