Datagrid plusieurs questions

Résolu
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009 - 23 déc. 2005 à 15:41
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009 - 23 déc. 2005 à 16:59
Bonjour,
je decouvre les datagrid sous Visual C#, et j aurai quelques questions à vous poser pour me debloquer.

Je dispose d'une table comportant plusieurs colonnes et plusieurs lignes.
Je voudrais maintenant sauvegarder ces données dans un fichier, que je puisse par la suite ouvrir.
J'arrive a lire le contenu d'une ligne, mais je ne sais pas comment l'enregistrer.
Comment proceder ?

Meme question pour l'ouverture du fichier et l affichage dans ma table

Derniere question ;)
Je voudrais donner une largeur à une colonne differente des autres.
Pour cela j'utilise DataGridTableStyle, mais ca ne marche pas.
Voila un morceau de mon code :

//Création de la table et de la colonne

DataTable tClient = new DataTable(\"Client\");

DataColumn cVille = new DataColumn(\"Ville\");



//attache

tClient.Columns.Add(cVille);

<dt>//idem pour les autres colonnes


//Creation du Style

DataGridTableStyle myDgts = new DataGridTableStyle();

myDgts.MappingName = \"Ville\";
<dd>
myDataGrid.TableStyles.Add(myDgts); // Ajout du style au dataGrid
<dd>
myDgts.GridColumnStyles[\"Ville\"].Width = 50;

myDgts.DataGrid.Refresh();

Je pense qu'il arrive pas a me trouver ma colonne "Ville". Surement lors du mapping.

Merci de m'aider :)
Bonne journée

7 réponses

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
23 déc. 2005 à 15:55
Salut,

Concernant ta sauvegarde/lecture dans un fichier, le DataSet possède les méthodes :
- ReadXML(string chemin);
- WriteXML(string chemin);
Si tu ne dispose pas d'un DataSet, tu peux le créer et ajouter ton DataTable.
DataSet dst = new DataSet();
dst.Tables.Add(MaTable);
dst.WriteXML(@"C:\fic.xml");

Chris

N'oubliez pas de cloturer votre post.
3
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
23 déc. 2005 à 16:54
Faut juste vider ta table ou le DataSet (méthode Clear) car quand tu le charge, il y a ton ancienne table dedans. D'où la violation de contrainte.

Chris

N'oubliez pas de cloturer votre post.
3
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009
23 déc. 2005 à 16:14
Merci pour ta réponse.
En effet c'est tres simple d'enregistrer et de sauvegarder :)

Il ne me reste plus qu'a bien mettre en forme mes colonnes.
0
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009
23 déc. 2005 à 16:22
ah, non j ai une petite erreur lors de l'enregistrement/ouverture.
J'ai que la 1ere ligne de ma table

Il faut que je compte le nombre de ligne de ma table et que je les ajoute dans le DataSet ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
23 déc. 2005 à 16:34
??
Excuse moi mais je vais faire une réponse un peu neuneu car ça marche super cette technique.
Tu mets le bon DataTable dans le DataSet?
Y a des enregistrement dans ton DataTable? Tu peux vérifier en faisant "dst.Tables[0].Rows.Count".

Chris

N'oubliez pas de cloturer votre post.
0
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009
23 déc. 2005 à 16:43
oui je mettais le mauvais DataTable desoler.
Tout marche bien. Sauf que quand j'ai une table qui dispose de 5 lignes et que j' en ouvre une de 4 lignes, j'ai une exeption qui se leve et qui me dit que : "Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou de clé externe."

Je vais regarder ca de plus pret.
Peu etre en effacant la table deja existante puis en chargeant la nouvelle
0
cs_ChamY Messages postés 72 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 22 mai 2009
23 déc. 2005 à 16:59
je te remercie pour tes reponses.
Bonne fin d'apres midi
0
Rejoignez-nous