Comment ajouter des données à DataGridView
Je vais avoir une Structure comme
X={ID="1", Name="XX",
ID="2", Name="YY" };
Comment sauvegarder ces données à un DataGridView
de deux colonnes
Le contrôle gridView est comme
ID | Name
Pouvons-nous utiliser LINQ pour ce faire. Je suis nouveau sur DataGridView
Pleaese m'aider à le faire..
Merci d'avance
webforms? winforms? wpf? silverlight?
OriginalL'auteur Thorin Oakenshield | 2010-10-13
Vous devez vous connecter pour publier un commentaire.
vous devez d'abord ajouter 2 colonnes à la grille de données. vous pouvez le faire au moment de la conception. voir les Colonnes de la propriété.
puis ajouter des lignes autant que vous avez besoin.
grid view
Merci ... j'ai besoin d'itérer à travers la structure. J'ai donc utiliser
for
ouforeach
boucle. peut-on utiliserLAMBDA
expression pour cela?oui. il existe de nombreuses options. Je suppose que vous pouvez utiliser la liaison de données comme la meilleure
OriginalL'auteur Arseny
Supposons que vous avez une classe comme ceci:
Et supposons que vous avez glissé et déposé un
DataGridView
à votre formulaire et nommez-le dataGridView1.Vous avez besoin d'un BindingSource pour tenir vos données à lier votre
DataGridView
. C'est comment vous pouvez le faire:Oui nous n'avons pas besoin d'une source de liaison, nous pouvons lier la liste à la grille de la source de données directement. L'avantage d'utiliser une bindingsource est que nous rafraîchir la source de liaison plus tard si la liste a changé/mis à jour. La grille d'obtenir le rafraîchissement.
L'utilisation d'un Système.ComponentModel.BindingList de sorte que la liste informe le DataGridView qu'un élément a été ajouté etc.
OriginalL'auteur bla
Ma façon préférée de faire, c'est avec une extension de la fonction appelée "Carte":
Ensuite, vous pouvez ajouter toutes les lignes comme suit:
OriginalL'auteur diceguyd30
LINQ est une "requête" de la langue (c'est le "Q"), de sorte que la modification de données est hors de sa portée.
Cela dit, votre
DataGridView
est sans doute lié à unItemsSource
, peut-être de typeObservableCollection<T>
ou similaire. Dans ce cas, il suffit de faire quelque chose commeX.ToList().ForEach(yourGridSource.Add)
(cela peut être adaptée en fonction du type de source dans votre grille).OriginalL'auteur danijels
vous devriez faire comme cette forme votre code
DataGridView.DataSource = yourlist;
DataGridView.DataBind();
OriginalL'auteur Kimtho6