簡體   English   中英

C#WinForms DataGridView - 選擇常量行!

[英]C# WinForms DataGridView - Constant Row Selected!

我有一個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";

Goober,我遇到了類似的問題,我需要用戶使用復選框選擇行。 無論gridview設置如何,在填充gridview后,默認情況下始終會選擇第一行。 要確保未選中第一行,每次填充gridview時,請執行ClearSelection():

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

ClearSelection()清除所有選定的行。

填充DataGridView后,應使用DataGridView.ClearSelection()刪除任何選擇。

此外,您可以將特定列設為只讀,這樣只允許將編輯限制為復選框列。 請參見DataGridViewColumn.ReadOnly屬性

確保您沒有調用方法從表單構造函數加載數據。 如果你從form.load()調用它

也可以在加載datagridview之后執行此操作

DataGridView.Rows [0] .Selected = false;

選擇datagridview。 然后,在屬性窗口中向下滾動,直到找到屬性SelectionMode並將其更改為FullColumnSelect。

或者,如果您希望他們一次只選擇一個復選框,請將其更改為CellSelect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM