[C#] DataSet DataGrid et XML

Merci d'utiliser des tags [C] [ASP] [VB] etc... dans vos topics pour qu'on sache de quoi vous parlez.

[C#] DataSet DataGrid et XML

Message par Guym » 08 Sep 2005 17:25

Bon je galere avec les concepts du C# et d'ado.net que je ne connais tout simplement pas. J'ai pas reussi a trouver une doc qui en explique les principes (soit c'est l'exemple a 2 balles que n'importe quel neuneu peu faire soit c'est la doc de ref en 3500 pages, bref l'idéal pour s'en faire une premiere idée)

En gros j'ai crée a l'aide du designer de VS2005 un dataset (un .xsd decrivant ma classe). Dans ma form j'ai mis un un data gird sur le quel j'ai (en fin visual m'a) collé un bindingsource. Dans ma classe de form je fait un load XML et apriori ca marche (le contenu de mon xml s'affiche). si je dis appriori c'est que suivant se que je mets ca par en carraffe. J'ai pas mal galeré pour faire ca suivant les cas ca marchait pas je suprime je refais hop ca marche (bon a force de cliquer partout ca me parrait pas etonnant, je remets pas en cause visual)

Actuellement mon soucis c'est que ma grille est en lecture seule : je ne peut ni ajouté ni modifier son contenu (magres que la proriétée soit activée) alors que sur une autre apli je fait la meme chose sans passer par le designer et ca marche.

Est ce quelqu'un aurait sous la main un doc simple clair et conci sur les principes du dataset et sur le designer de VS. Les doc du type tutorial en 4 lignes qui font genre datagrid.source=new dataset() ca c'est pas la peine j'en plein.
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 08 Sep 2005 18:45

Non pas de doc comme tu le souhaites.
Personnellement j'utilise rarement VS pour ce genre de chose car il génère du code soit inutile soit manquant.

Donne un exemple de code avec le fichier XML qui pose problème, et j'essaierai de voir si quelque chose cloche.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Message par Guym » 08 Sep 2005 18:54

Bah en fiat je crois que c'est du au compactframework : le data grid de celui ci n'est apparament pas editable contrairement à celui du framework (mon exemple qui marche)

Oui je suis en compact framework 2.0 (beta puisque la finale sort en novembre)

Si non des questions cons : (je decouvre donc mes questions peuvent paraitres naives)
- peut on charger un xml dans un data set et y faire unre requette (sans passser par un sgbd) ?
- peut on fusioner des dataset ? (genre je charge un fichier de maj et je le fusione dans le principal)
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 09 Sep 2005 07:21

Je réponds de ce que je connais sur le framework et non le compact framework
Guym a écrit :- peut on charger un xml dans un data set et y faire unre requette (sans passser par un sgbd) ?

Au niveau de ton dataset tu as une méthode LoadXml.
Pour le requetage c'est plus limité qu'une BDD mais dans le select tu peux spécifier des filtres.

Guym a écrit :- peut on fusioner des dataset ? (genre je charge un fichier de maj et je le fusione dans le principal)

Oui à condition qu'il y ait la même structure : méthode Merge de ton dataset.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Message par Guym » 09 Sep 2005 07:42

Celon mircrosoft le compactframework 2.0 contient 97% du framework 2.0 (ce qui n'etait pas vrai du tout pout le CF 1.0)

Le select que tu parle c'est une methode ou le mot clé type SQL ?

Quand au fait qu'il faillait qu'ills y ait la meme structure je m'en doutait microsoft c'est pas zidane ils ne font pas de miracles .... :lol:

Tiens comne ca unes question qui me traverse la tete quand tu fait ton merge et qu'il y a des clés primaires en double il fait quoi ?
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 09 Sep 2005 07:48

Pour le select c'est la méthode, qui prend en paramètre en gros la clause WHERE.

Quant au merge, pff même pas marrant u t'es posé la question avant d'avoir le problème, tu as une propriété dans ton Dataset qui s'apeplle EnforceConstraints qui par défaut est à true. Donc en cas de doublon il y a une exception, et si tu peux vraiment avoir des doublon alors tu peux mettre cette propriété à false.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Message par Guym » 09 Sep 2005 08:39

J'ai enticipé le probleme : actuellement je charge un .xml sur un serveur web. Et comme mon fichier de test c'est toujours le meme au second charment j'ai eu droit a l'exeption. :lol:

Y a pas possibilité d'ecrasser plutot que faire des doublons ?
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 09 Sep 2005 14:03

Pas à ma connaissance, il me semble qu'il y a possibilté de ne pas tenir compte des doublons mais je ne sais plus comment : peut être dans les options de la méthode Merge.

Donc théoriquement, si tu fusionnes le premièr dataset avec le nouveau en cas de doublon ce sera le nouveau qui gardera ses valeurs.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Message par Guym » 09 Sep 2005 15:51

bah je me prends la tete maintenant avec le data bindingsource (en gros ca marche pas) mais faut voir le bon coté des chaose dans 2 herues je suis en vacances.....
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par Guym » 27 Sep 2005 15:39

J'ai un probleme de presistence sur les dataset :
J'ai plusieur forms qui sont sensée travailler sur le meme dataset (enfin le meme groupe de donée) or dans chaque form j'ai un nouveau dataset. J'ai voulu en declarer un en glabal mais je me suis fais jetter (au passage comment on declacre des varriable globale en C# ?)

Bref comment on s'y prends pour que plusieurs forms bossent sur les memes données ?
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par ZeDuckMaster » 27 Sep 2005 16:54

Guym a écrit :(au passage comment on declacre des varriable globale en C# ?)

Je n'ai pas encore trouvé d'informations sur les variables globales en c#, soit ça n'existe pas, soit c'est super bien caché.

Ma méthode à moi :
créer une classe "globale" dans le sens où elle ne contient que des membres statiques, tout en sachant que lorsque que tu appelles un membre statique d'une classe, le constructeur est automatiquement appelé, donc pratique pour faire les initialisations.
Avatar de l’utilisateur
ZeDuckMaster
Demi-Dieu Vivant
Demi-Dieu Vivant
 
Message(s) : 3109
Inscription : 23 Jan 2002 00:17
Localisation : dans sa mare :)

Message par Guym » 27 Sep 2005 16:58

ZeDuckMaster a écrit :Je n'ai pas encore trouvé d'informations sur les variables globales en c#, soit ça n'existe pas, soit c'est super bien caché.


c'est que je me suis dit.

J'ai plus ou moins resolu mon probleme en regardant le code generé comprend pas pas trop ce qu'il fait mais ca marche.

Question : est ce que quelqu'un peut me definir clairement daset et databinding ?
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 27 Sep 2005 22:04

pfff je suis vraiment déçu !!!! ;)

Primo les variables globales c'est pas de l'objet.
Deuxio, la technique de duck (variable statique) est la seule solution.

dataset : ensemble de données (potentiellement plusieurs lignes dans plusieurs tables)
databindings : rattachement aux données : un contrôle qui est "databindé" à ton dataset (propriéts Datasource et Datamember, ou carrément utilisé databindingcontext) affichera la valeur d'un membre de la ligne sélectionnée.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Message par Guym » 03 Oct 2005 15:34

Une question pour le pro du data set :

J'ai un data set avec un schema de donné genre article, bon de commande et lignes bon de commande qui fait une asso entre article et bon (jointure classique).

Quand je fais mondataset.writeXML(fichier) il me serialize tout. si je veux serialiser qu'un bon avec toutes ses lignes, comment je fait ?
Il a fallu 38 ans à la radio pour atteindre 50 millions d'utilisateurs, 13 ans pour la télévision, 4 ans pour Internet, et 2 ans pour Facebook... les paris sont ouverts pour le prochain.
Avatar de l’utilisateur
Guym
Administrateur
Administrateur
 
Message(s) : 8217
Inscription : 29 Jan 2002 16:33
Localisation : Mufflins (Groland)

Message par DrQ » 03 Oct 2005 20:10

a part créer un nouveau dataset avec uniquement ce que tu veux je ne vois pas d'autres manières, si ce n'est tou faire à la main.
-oOo-DrQ-oOo-
_____________
Avatar de l’utilisateur
DrQ
3/4-Dieu Vivant na!!
3/4-Dieu Vivant na!!
 
Message(s) : 895
Inscription : 22 Jan 2002 23:49
Localisation : Chambourcy (Région parisienne)

Suivant

Retour vers Programmation

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron