bonjour,masmunai
pourquoi remplir les datables ,puisque à l'insertion il ya une creation d'une instance de datatable et d'un tableadapter et invocation d'une methode fill.
alors il y a 2 cas de figure:
1/ tu veux afficher tes tables
-tu rajoute un controle lie au donnes et le designer te demande la source de donne et il cree un bindingsource automatique.
-a l'execution il te remplit automatiquement le controle lie(il execute le fill behind the scene,derriere les coulisses pour parler en francais).
- la synchronisation des donnees entre les controles est egalement acquise(behind the scene,TableAdapterManager est à l'oeuvre).
2/ tu veux associer une table à autre chose qu'un controle visuel mettons:
- une liste de champ (NomClient,NomProduit,NumeroCommande),tu n'as pas besoin d'un tableadapter,tu auras plus tot besoin d'une liste à remplir en parcourant la datatable et en ajoutant le champ cible .
Dans un controle lie au donne il suffit de faire:
datagridview1.datasource=listeNomClient
-une classe mappe sur un ou plusieurs champs d'une datatable ,c'est pareil tu fais une boucle sur la datatable et tu instancie ta classe ,tu remplis chaque champ de la classe et tu associe une liste qui gere la classe.
exemple:
1 2
| public class PProduit 'classe mappe sur datatable Produit
public listePProduit as list(of PProduit) ' liste qui gere la classe |
Dans un controle lie au donne il suffit de faire:
datagridview1.datasource= listePProduit
Il affichera dans la datagridview les champs mappes.
Donc les Fill sont gratuits,c'est le traitement et la synchronisation entre les datagridview qu'il faut faire par code avec(il n' y a plus de TableAdapterManager helas).
tout avantage se paye (l'inconvenient de l'avantage) ,c'est la loi de notre maratre nature.
etre ou ne pas etre telle est la question...
bon code....
Partager