DataGridView – 聚焦一个特定的单元格

如何设置焦点在DataGridView中的任何指定的单元格? 我期待像Focus(rowindex,columnindex)这样简单的方法,但并不那么容易。

设置当前单元格,如:

DataGridView1.CurrentCell = DataGridView1.Rows[rowindex].Cells[columnindex] 

要么

 DataGridView1.CurrentCell = DataGridView1.Item("ColumnName", 5) 

您可以通过以下方式直接进行编辑:

 dataGridView1.BeginEdit(true) 

您可以通过将Selected属性设置为true来将Focus设置为特定Cell

 dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true; 

以避免多重select刚刚设置

 dataGridView1.MultiSelect = false; 

datagridview的问题是它自动select第一行,所以你想清除select

 grvPackingList.ClearSelection(); dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true; 

其他方面也不行

我有一个类似的问题。 我已经隐藏了一些列,然后我试图select第一行。 这并没有真正的工作:

 datagridview1.Rows[0].Selected = true; 

所以我尝试selectcell[0,0] ,但它也没有工作,因为这个单元格不显示。 现在我的最终解决scheme工作得很好:

 datagridview1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; datagridview1.CurrentCell = datagridview1.FirstDisplayedCell; 

所以这select完整的第一行。

 public void M(){ dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0]; dataGridView1.CurrentCell.Selected = true; dataGridView1.BeginEdit(true); } 

DataGridView1.CurrentCell = DataGridView1.Item(“ColumnName”,5)

在事件form_load(对象发件人,EventArgs e)试试这个

dataGridView1.CurrentCell = dataGridView1.Rows [dataGridView1.Rows.Count1] .Cells [0];

这段代码关注最后一行和第一个单元格

  private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { int row = e.RowIndex; int col = e.ColumnIndex; if (row < 0 || col != 3) return; if (e.FormattedValue.ToString().Equals(String.Empty)) { } else { double quantity = 0; try { quantity = Convert.ToDouble(e.FormattedValue.ToString()); if (quantity == 0) { MessageBox.Show("The quantity can not be Zero", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); e.Cancel = true; return; } } catch { MessageBox.Show("The quantity should be decimal value.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); e.Cancel = true; return; } } } 

只需简单地粘贴并传递Gridcolor()任何你想要的地方。

 Private Sub Gridcolor() With Me.GridListAll .SelectionMode = DataGridViewSelectionMode.FullRowSelect .MultiSelect = False '.DefaultCellStyle.SelectionBackColor = Color.MediumOrchid End With End Sub