2009-07-06 58 views
6

我有一个WinForms DataGridView的,似乎总有至少一行选择了所有的时间。我不感兴趣,在能够选择真正在所有行,我只需要用户能够选择在列1 复选框任何想法,为什么总有至少1行选择? 我该如何预防? 它会影响在列1中选择复选框的能力吗?C#WinForms DataGridView - 选择恒定行!

下面是我的DataGridView设置:

this.dataGridView1.AllowUserToAddRows = false; 
this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; 
this.dataGridView1.DefaultCellStyle.ForeColor = Color.Black; 
this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; 
this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; 
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
this.dataGridView1.MultiSelect = false; 
this.dataGridView1.RowHeadersVisible = false; 
this.dataGridView1.RowsDefaultCellStyle.BackColor = Color.WhiteSmoke; 
this.dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; 
this.dataGridView1.ColumnCount = 0; 

colSelect = new DataGridViewCheckBoxColumn(); 
colSelect.HeaderText = "Select Message"; 
colSelect.Width = 90; 
this.dataGridView1.Columns.Insert(0, colSelect); 
this.dataGridView1.Columns[0].DataPropertyName = "msgSelect"; 

回答

-1

选择DataGridView的。然后,在属性窗口中向下滚动,直到找到属性SelectionMode并将其更改为FullColumnSelect。

或者,如果你想让他们只是一次选择一个复选框,将其更改为CellSelect

+0

敢肯定这是不正确........ – Goober 2009-07-06 10:56:41

4

落花生,我遇到了类似的问题,在这里我需要的用户使用复选框以选择行。无论gridview设置如何,填充gridview后默认始终选中第一行。为了确保第一行没有被选择,每次在GridView填充,做一个ClearSelection():

this.dgridvw.DataSource = this.MyTable; 
this.dgridvw.ClearSelection(); 

ClearSelection()清除所有选定行。

0

确保您的代码是而不是调用该方法以从窗体构造函数加载数据。如果从form.load()调用它

也DataGridView的后装做

DataGridView.Rows [0] = .Selected假;