C'est aussi simple que cela. Comment puis-je obtenir l'index du actuellement sélectionné d'un DataGridView
? Je ne veux pas l'objet , je veux l'index (0 .. n).Index de la ligne actuellement sélectionnée dans DataGridView
Répondre
Il existe la propriété RowIndex
pour la propriété CurrentCell
pour DataGridView.
datagridview.CurrentCell.RowIndex
gérer l'événement SelectionChanged
et trouver l'index de la ligne sélectionnée comme ci-dessus.
dataGridView1.SelectedRows[0].Index;
Ou si vous vouliez utiliser LINQ et l'index de toutes les lignes sélectionnées, vous pouvez faire:
dataGridView1.SelectedRows.Select(r => r.Index);
Utile (IndexOf était pas vraiment « sur mon radar » encore), mais rond-point depuis l'obtention de la ligne n'est pas nécessaire. La méthode .Index est ce que je cherchais. – ErikE
Utilisez la propriété Index dans votre collection SelectedRows de DGV:
int index = yourDGV.SelectedRows[0].Index;
Pensez-vous que c'est mieux ou DGV.CurrentCell.RowIndex? – ErikE
La cellule actuelle peut ne pas être sélectionnée dans certains cas, c'est donc la meilleure solution. – AbleArcher
@thethuthinnang Lorsque vous n'avez sélectionné aucune ligne, la solution @JayRiggs lancera l'erreur d'index deux. Tu ferais mieux de l'emballer avec un «si» –
Essayez DataGridView.CurrentCellAddress. Renvoie: Un point qui représente les index de ligne et de colonne de la cellule actuellement active.
E.G. Sélectionnez la première colonne et la cinquième rangée, et vous reviendrez: Point (X = 1, Y = 5)
P.S. depuis que j'ai demandé l'index de la ligne, les choses auraient été moins rocailleuses dans notre relation si vous aviez dit 'DataGridView.CurrentCellAddress.Y' ... :) – ErikE
Je pense qu'à ce stade toutes ces réponses sont valides, c'est juste en haut à vous, celui que vous voulez choisir qui est le plus propre à vos fins. Je suggère de taper les différentes implémentations et en regardant l'IL dans. NET Reflector (http://www.red-gate.com/products/reflector/) si vous voulez vraiment voir quel code est généré pour chacun, mais comme beaucoup le diront, c'est la micro-optimisation. C'est vraiment ce qui est le plus clair dans l'intention. PS Note prise pour être plus clair à l'avenir. – Kilanash
Essayez ceci cela fonctionnera ... il vous donnera l'index de l'index de ligne sélectionné .. .
int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
dataGridView1.SelectedRows[0].Index;
trouverez ici tout sur datagridview C# datagridview tutorial
Lynda
essayer cette
bool flag = dg1.CurrentRow.Selected;
if(flag)
{
/// datagridview row is selected in datagridview rowselect selection mode
}
else
{
/// no row is selected or last empty row is selected
}
Merci, exactement ce dont j'avais besoin pour déterminer quelle est la valeur cachée d'une ligne sélectionnée lors de l'utilisation d'un contrôle qui n'était pas associé à la grille. – orgtigger
les opérations suivantes:
int myIndex = MyDataGrid.SelectedIndex;
Cela donnera l'index de la ligne qui est actuellement sélectionnée.
Hope this helps
J'ai modifié la réponse de @JayRiggs, et cela fonctionne. Vous avez besoin du if
car parfois les SelectedRows peuvent être vides, donc l'opération d'index lèvera une exception.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Vous pouvez essayer ce code:
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
Essayez-le:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
J'espère que cela vous aidera.
Merci d'avoir copié, mais votre réponse est un doublon de la réponse sélectionnée (et la plus mise à jour) qui a donné la solution 'datagridview.CurrentCell.RowIndex'. Mes excuses - je vais recommander que ce message soit supprimé en tant que copie complète. – ErikE
J'utilisé si get valeur de la ligne est cliqué:
private void dataGridView_Product_CellClick(object sender, DataGridViewCellEventArgs e){
int rowIndex;
//rowIndex = e.RowIndex; //Option 1
//rowIndex= dataGridView_Product.CurrentCell.RowIndex; //Option 2
rowIndex = dataGridView_Product.CurrentRow.Index; //Option 3
}
- 1. Conserver la ligne actuellement sélectionnée dans un datagridview
- 2. Mémoriser la ligne sélectionnée dans DataGridView
- 3. Supprimer la ligne sélectionnée d'un DataGridView
- 4. Comment obtenir le texte de la ligne sélectionnée dans datagridview?
- 5. C# WinForms DataGridView - Ligne constante sélectionnée!
- 6. Supprimer une ligne d'un DataGridView étant donné son index
- 7. Comment rendre la ligne particulière sélectionnée dans datagridview en fonction de la sélection treeview
- 8. Une ligne supplémentaire dans DataGridView
- 9. problème se index de la ligne sélectionnée dans NSTableView avec prédicat de filtre
- 10. Comment récupérer la ligne sélectionnée de datagridview et stocker dans DataTable
- 11. Comment récupérer la ligne sélectionnée dans une source de liaison
- 12. Remplir une zone de sélection avec la valeur actuellement sélectionnée
- 13. DataGridView sélectionnant "Ligne complète"
- 14. Comment modifier la couleur d'arrière-plan de la ligne sélectionnée par datagridview?
- 15. Modifier la cellule dans la ligne sélectionnée
- 16. Obtenir la ligne actuellement sélectionnée de GridView sur un bouton Cliquez sur
- 17. Base de données actuellement sélectionnée dans SQL Server
- 18. Supprimer la ligne DataGridView
- 19. C# DataGridView capturant supprimé la ligne
- 20. La ligne sélectionnée ne se met pas à jour dans DataGridView
- 21. ligne sélectionnée
- 22. Lire la cellule dans chaque ligne de datagridview dans C#
- 23. Obtention d'une entité derrière la ligne sélectionnée de DataGridView avec Linq à Sql
- 24. Repositionnement de ligne DataGridView
- 25. Afficher la position affichée de la ligne DataGridView
- 26. Conserver la dernière ligne sélectionnée de UITableView
- 27. JTable .. couleur de la ligne sélectionnée
- 28. Obtenir la ligne sélectionnée dans UIPickerView pour chaque composant
- 29. Jqgrid: navigation basée sur la ligne sélectionnée
- 30. Activer/Désactiver BindingNavigatorItems en fonction de la ligne sélectionnée
Parfait. Cela semble plus simple/plus rapide, même sur SelectedRows [0] .Index. Serait-ce une bonne hypothèse? – ErikE
Hum, je ne pensais pas à la sélection de plusieurs lignes. Je ne suis pas sûr du comportement de la cellule actuelle dans ce cas. – fletcher
Si c'est quelque chose comme Excel, la liste sélectionnée peut être plusieurs lignes/colonnes, mais il n'y a qu'une seule cellule active/active. Je me soucie seulement de la rangée actuelle, donc ça devrait aller. – ErikE