如何在DataGridView中的任何指定单元格上设置焦点?我期待像Focus这样的简单方法(rowindex,columnindex),但这并不容易。
答案 0 :(得分:74)
将当前单元格设置为:
DataGridView1.CurrentCell = DataGridView1.Rows[rowindex].Cells[columnindex]
或
DataGridView1.CurrentCell = DataGridView1.Item("ColumnName", 5)
您可以通过以下方式直接关注编辑:
dataGridView1.BeginEdit(true)
答案 1 :(得分:11)
您可以通过将Focus
属性设置为true来将Cell
设置为特定Selected
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true;
避免多重选择只需设置
dataGridView1.MultiSelect = false;
答案 2 :(得分:7)
datagridview的问题在于它会根据您的需要自动选择第一行
清除选择grvPackingList.ClearSelection();
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true;
另外,它不起作用
答案 3 :(得分:3)
我有类似的问题。我隐藏了一些列,之后我尝试选择第一行。这并没有真正起作用:
datagridview1.Rows[0].Selected = true;
所以我尝试选择cell[0,0]
,但它也没有用,因为这个单元格没有显示。现在我的最终解决方案运作良好:
datagridview1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
datagridview1.CurrentCell = datagridview1.FirstDisplayedCell;
所以这会选择完整的第一行。
答案 4 :(得分:1)
public void M(){
dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0];
dataGridView1.CurrentCell.Selected = true;
dataGridView1.BeginEdit(true);
}
答案 5 :(得分:0)
form_load(对象发送者,EventArgs e)试试这个
dataGridView1.CurrentCell = dataGridView1.Rows [dataGridView1.Rows.Count1] .Cells [0];
此代码重点关注最后一行和第一个单元格
答案 6 :(得分:0)
np.arange(a-2, a+3)
#=> array([3, 4, 5, 6, 7])
答案 7 :(得分:-1)
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;
}
}
}
答案 8 :(得分:-1)
DataGridView1.CurrentCell = DataGridView1.Item(“ColumnName”,5)
答案 9 :(得分:-1)
只需简单粘贴并传递Gridcolor()任何你想要的地方。
Private Sub Gridcolor()
With Me.GridListAll
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
'.DefaultCellStyle.SelectionBackColor = Color.MediumOrchid
End With
End Sub
答案 10 :(得分:-1)
您可以为DataGrid尝试以下操作:
DataGridCellInfo cellInfo = new DataGridCellInfo(myDataGrid.Items[colRow], myDataGrid.Columns[colNum]);
DataGridCell cellToFocus = (DataGridCell)cellInfo.Column.GetCellContent(cellInfo.Item).Parent;
ViewControlHelper.SetFocus(cellToFocus, e);