Comment définir le focus sur une cellule spécifiée dans DataGridView? Je m'attendais à un moyen simple comme Focus (rowindex, columnindex) mais ce n'est pas si facile.
Définissez la cellule actuelle comme suit:
DataGridView1.CurrentCell = DataGridView1.Rows[rowindex].Cells[columnindex]
ou
DataGridView1.CurrentCell = DataGridView1.Item("ColumnName", 5)
et vous pouvez vous concentrer directement avec Édition en:
dataGridView1.BeginEdit(true)
vous pouvez définir Focus
sur une Cell
spécifique en définissant la propriété Selected
sur true
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true;
pour éviter la sélection multiple
dataGridView1.MultiSelect = false;
le problème avec datagridview est qu’il sélectionne automatiquement la première ligne pour que vous vouliez effacer la sélection en.
grvPackingList.ClearSelection();
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true;
sinon, ça ne marchera pas
J'avais un problème similaire. J'ai caché des colonnes et j'ai ensuite essayé de sélectionner la première ligne. Cela n'a pas vraiment fonctionné:
datagridview1.Rows[0].Selected = true;
J'ai donc essayé de sélectionner cell[0,0]
, mais cela n'a pas fonctionné car cette cellule n'était pas affichée. Maintenant, ma solution finale fonctionne très bien:
datagridview1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
datagridview1.CurrentCell = datagridview1.FirstDisplayedCell;
Donc, cela sélectionne la première ligne complète.
public void M(){
dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0];
dataGridView1.CurrentCell.Selected = true;
dataGridView1.BeginEdit(true);
}
//For me it's the best way to look for the value of a spezific column
int seekValue = 5;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
var columnValue = Convert.ToInt32(row.Cells["ColumnName"].Value);
if (columnValue == seekValue)
{
dataGridView1.CurrentCell = row.Cells[0];
}
}
dans event form_load (expéditeur d'objet, EventArgs e) essayez ceci
dataGridView1.CurrentCell = dataGridView1.Rows [dataGridView1.Rows.Count1] .Cells [0];
ce code fait se concentrer sur la dernière ligne et la 1ère cellule