Obtenir le texte de DataGridView cellules sélectionnées
J'ai un DataGridView avec des cellules à partir d'un fichier de base de données qui contient des données. Fondamentalement, je veux obtenir le texte de la sélectionné cellules dans le DataGridView et l'afficher dans une zone de texte en cliquant sur le bouton. Le code pour l'événement click du bouton est:
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SelectedThings As String = DataGridView1.SelectedCells.ToString
TextBox1.Text = SelectedThings
End Sub
Cependant dans TextBox1 j'obtiens:
Système.De Windows.Les formulaires.DataGridViewSelectedCellCollection
Je pense qu'il n'est pas aussi simple qu'il y paraît. Je suis un développeur C juste de l'apprentissage VB.NET.
OriginalL'auteur | 2009-04-07
Vous devez vous connecter pour publier un commentaire.
DataGridView.SelectedCells
est un ensemble de cellules, de sorte qu'il n'est pas aussi simple que d'appelerToString()
sur elle. Vous avez à boucle à travers chaque cellule de la collection et obtenir de chaque valeur de la cellule à la place.La suivante permet de créer une liste délimitée par des virgules de toutes les cellules sélectionnées valeurs.
C#
VB.NET (Traduit du code ci-dessus)
En quelque sorte, mais ce n'est pas exactement la façon dont je l'avais mis. Vous n'avez pas à "trouver" les cellules, comme une référence à eux vous est présenté dans la collection.
Amélioration mineure dans le VB.NET version: &= au lieu de += (à la fois le travail bien sûr).
OriginalL'auteur lc.
Essayez ceci:
Cela devrait fonctionner 🙂
OriginalL'auteur Lullly
Simplement
OriginalL'auteur mands
OriginalL'auteur Wyt
Dans ce cas précis, les méthodes ToString() retourne le nom de l'objet retruned par le SelectedCell de la Propriété.( une collection de la cellule sélectionnée).
Ce problème se produit lorsqu'un objet n'est pas spécifique implenetation pour le ToString() des méthodes.
dans notre cas, tout ce que vous avez à faire est d'itérer la collecte de ces cellules et à accumuler ses valeurs à une chaîne. puis poussez cette chaîne dans la zone de texte.
regardez ici comment mettre en œuvre l'itération:
msdn
OriginalL'auteur ofer
Ou dans le cas où vous avez juste besoin de la valeur de la première sélectionné vendre (ou simplement d'une cellule sélectionnée si l'on est sélectionné)
OriginalL'auteur Cyril Gupta
le Meilleur des deux mondes.....
OriginalL'auteur code46
ou, nous pouvons utiliser quelque chose comme cela
OriginalL'auteur Peter Juanda
Un grand nombre de réponses sur cette page s'appliquent uniquement à une seule cellule, et OP demandé tous les cellules sélectionnées.
Si tout ce que vous voulez, c'est le contenu de la cellule, et vous n'avez pas de soins sur les références à la réalité de cellules qui sont sélectionnés, vous pouvez simplement faire ceci:
Quand
Button1
est cliqué, cela rempliraTextBox1
avec les valeurs séparées par des virgules dans les cellules sélectionnées.OriginalL'auteur alldayremix