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