C#WinForms DataGridView - 选择常量行!

Goo*_*ber 6 .net c# datagridview winforms

我有一个winforms datagridview,似乎始终至少选择了一行.我对能够真正选择行感兴趣,我只需要用户能够选择第1列中的复选框.任何想法为什么总是至少选择1行?我该如何防止这种情况?它会影响在column1中选中复选框的能力吗?

以下是我的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";
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 3

填充 DataGridView 后,您应该使用DataGridView.ClearSelection()删除任何选择。

您还可以将特定列设置为只读,这将允许仅对复选框列进行编辑。请参阅DataGridViewColumn.ReadOnly 属性