zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006
-
20 avril 2006 à 20:20
BellaPeter -
12 juil. 2007 à 21:17
salut à tous
en fait je voudrais pouvoir supprimer des lignes dans un datagrid qui affiche que les déplacements du jour à partir d'un fichier XML le problème c'est que cza ne marche pas et lorsque je veux supprimer un enregistrement il est doublé.
voila le code du bouton:
CurrencyManager cm = (CurrencyManager)this.BindingContext[this.dataGrid1.DataSource];//this.dataGrid1.DataSource
int rowCount = cm.Count;
int pos = cm.Position;
if (cm.Position < cm.Count - 1)
{
cm.Position++;
}
ds.ReadXml("\\test.xml");
DataRow dr = ds1.Tables[0].Rows[pos];
int intLigne;
ds.Tables[0].DefaultView.Sort = "com";
intLigne = ds.Tables[0].DefaultView.Find(dr["com"]);
ds.Tables[0].Rows[intLigne].Delete();
ds.AcceptChanges();
ds1.Tables[0].Rows[pos].Delete();
ds1.AcceptChanges();
ds.WriteXml("\\test.xml");
//Form1_Load(sender, e);
j'espére trouver une réponse de votre part
A voir également:
Problème de suppression de lignes dans un datagrid
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 10:43
salut,
comme je peux pas créer le fichier XML à l'intérieur du simulateur du pda
comment alors faire pour créer un fichier xml et après losque je clique sur un bouton enregistrer me permet d'enregistrer les données du formulaire à chaque fois dans ce même fichier XML qui est de la forme:
<?xml version="1.0" encoding="utf-8" ?>
<deplacements>
<deplacement>
<date>01/01/01</date>
<villed>A</villed>
<villea>B</villea>
<km>200</km>
<typed />
<com />
</deplacement>
<deplacement>
<date>02/02/02</date>
<villed>B</villed>
<villea>A</villea>
<km>100</km>
<typed />
<com />
</deplacement>
</deplacements>
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 11:41
oui merci ca marche avec le ds.writexml.
j'ai fait le code suivant:
DataSet ds = new DataSet();
ds.Tables.Add("deplacement");
ds.Tables[0].Columns.Add("date");
ds.Tables[0].Columns.Add("villed");
ds.Tables[0].Columns.Add("villea");
ds.Tables[0].Columns.Add("km");
ds.Tables[0].Columns.Add("typed");
ds.Tables[0].Columns.Add("com");
DataRow row = ds.Tables[0].NewRow();
//Ajout des valeurs dans la table.
row["Date"] = dateTimePicker1.Text;
row["Villed"] = textBox1.Text;
row["villea"] = textBox2.Text;
row["km"] = textBox3.Text;
row["typed"] = comboBox1.Text;
row["com"] = textBox5.Text;
ds.Tables[0].Rows.Add(row);
ds.WriteXml("\\test.xml");
qui me permet de créer un fichier test.xml et de lui ajouter les données d'un formulaire à la suite d'un click sur le bouton enregistrer.
maintenant je veux faire une condition pour voir si le fichier test.xml existe il lui ajoute les données du formulaire sinon il le crée avec les données du formulaire dedans.
comment faire sans que se fait des perturbations après lorsque je supprime des enregistremens du jour par exemple.
Merci pour ton attention et ton encadrement.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 12:16
merci pour la fonction exists j'ai fait le code suivant mais il me crée un seul enregistrement et losrsque j'ajoute d'autres enregistrements il sont pas enregistrés dans le fichier xml.
DataSet ds = new DataSet();
if (System.IO.File.Exists("\\test.xml")==false)
{
ds.Tables.Add("deplacement");
ds.Tables[0].Columns.Add("date");
ds.Tables[0].Columns.Add("villed");
ds.Tables[0].Columns.Add("villea");
ds.Tables[0].Columns.Add("km");
ds.Tables[0].Columns.Add("typed");
ds.Tables[0].Columns.Add("com");
DataRow row = ds.Tables[0].NewRow();
//Ajout des valeurs dans la table.
row["date"] = dateTimePicker1.Text;
row["villed"] = textBox1.Text;
row["villea"] = textBox2.Text;
row["km"] = textBox3.Text;
row["typed"] = comboBox1.Text;
row["com"] = textBox5.Text;
ds.Tables[0].Rows.Add(row);
ds.WriteXml("\\test.xml");
}
else
{
DataRow row = ds.Tables[0].NewRow();
//Ajout des valeurs dans la table.
row["date"] = dateTimePicker1.Text;
row["villed"] = textBox1.Text;
row["villea"] = textBox2.Text;
row["km"] = textBox3.Text;
row["typed"] = comboBox1.Text;
row["com"] = textBox5.Text;
ds.Tables[0].Rows.Add(row);
ds.WriteXml("\\test.xml");
}
}
merci encore pour votre attention.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 15:14
en fait je voulais te poser la question suivante:
est ce que à partir d'un dataset et un writexml
on peut avoir un fichier xml de la forme:
<?xml version="1.0" encoding="utf-8" ?>
<deplacements>
<deplacement>
<date>01/01/01</date>
<villed>A</villed>
<villea>B</villea>
<km>200</km>
<typed />
<com />
</deplacement>
<deplacement>
<date>02/02/02</date>
<villed>B</villed>
<villea>A</villea>
<km>100</km>
<typed />
<com />
</deplacement>
</deplacements>
avec un root element deplacements et à l'intérieur les éléments deplacement.
Merci pour votre patience avec moi je sais que je pose beaucoup de questions.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 26 avril 2006 à 10:24
tiens est ce que je peut te poser une nouvelle question
en fait je voudrais rafraichir une datagrid qui se trouve dans un autre formulaire
alors j'ai fait
form2 fm=new form2();
fm.datagrid1.Refresh();
mais j'ai des problèmes de concurrence avec les dataset déclarées dans l'autre formulaire.
est ce qu'il ya une autre maniére de procéder.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 26 avril 2006 à 12:09
je voulais te poser une autre question
c'est que je remplis un combobox par la valeur d'un dataset
et lorsque je regarde ce qu'il m'affiche il m'affiche system.data.datarow
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 26 avril 2006 à 14:51
oui je pose beaucoup de questions parce que j'ai jamais fait du .net avant.
c'est koi le devlib et le devnum.
moi je fais comme ca et ca bloque:
DataSet ds = new DataSet();
ds.ReadXml("\\test1.xml");
comboBox2.DataSource = ds.Tables["ville"];
comboBox2.DisplayMember = "nom";//nom c'est le nom de la colonne
comboBox2.ValueMember = "0";//le numéro de la colonne dans la table
et puis comment onfait pour écrire à l'intérieur d'une combobox
merci beaucoup je sais que j'abuse mais il reste pas beaucoup de temps pour finir ce projet.
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 26 avril 2006 à 15:03
diplaymemeber : le champ a afficher en text dans ta combo
valuemember : le champ valeur de l'affichage (souvent un compteur ou autre...)
dans ma table T_DEVISE
j'ai un champ DEVLIB qui continet le nom en francais de la devise
et DEVNUM est le nom de ma colonne de Primary key de la table devise (l'identifiant informatique quoi...)
pas de pb pour l'abusage...mais un minimum de recherche sur ce site te permettrait de trouver tes reponses a quasi toute tes questions
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 26 avril 2006 à 15:38
j'ai vu sur le site il n' ya pas des réponses à mes questions.
en fait j'ai pas mis le value member et ca marche comme même sauf que maintenant
il m'affiche le premier élément du champ.
comment faire pour qu'il n'affiche rien au début et puis comment je pourrai saisir
dans le combobox.
je sais pas comment te remercier.