Bonjour, J'essaie d'utiliser DataGridView pour la première fois et avec LINQ.LINQ to XML et DataGridView
Voici ce que j'essaie de faire: Je veux l'utiliser (bien qu'il ne dispose pas du DataGridView) pour lire et afficher le contenu d'un fichier XML (ce bit fonctionne sous le code ci-dessous) mais je vouloir avoir un bouton ajouter une ligne sur le formulaire ou dans le DataGridView qui prend le contenu de trois zones de texte et et remplit le contenu de trois colonnes de la nouvelle ligne. La nouvelle ligne doit être ajoutée aux données existantes.
Ensuite, je voudrais ajouter un bouton Supprimer pour supprimer la ligne actuellement sélectionnée. Enfin, je veux un bouton de sauvegarde qui exporte le contenu de DataGridView vers un fichier XML en écrasant/mettant à jour le fichier XML existant. Donc, je me suis contenté d'ajouter les données supplémentaires! mais comme je n'ai pas la moindre idée quant à la suppression ou la sauvegarde, je pensais que je demanderais tout en une fois !!
Donc, c'est le code que je dois lire le fichier xml:
XDocument xmlDoc = XDocument.Load(@"queues.xml");
var q = from c in xmlDoc.Root.Descendants("Queue")
select new
{
QueueNumber = c.Element("Number").Value,
QueueName = c.Element("Name").Value,
QueuePCC = c.Element("QueueTag").Value
};
dataGridView1.DataSource = q.ToList();
document XML:
<?xml version="1.0" encoding="utf-8" ?>
<Queues>
<Queue>
<Number>
001
</Number>
<Name>
mytest
</Name>
<QueueTag>
xyz
</QueueTag>
</Queue>
<Queue>
<Number>
002
</Number>
<Name>
Adi2
</Name>
<QueueTag>
ABCD
</QueueTag>
</Queue>
</Queues>
ok j'ai changé mon code à ceci:
XDocument xmlDoc = XDocument.Load(@"queues.xml");
var q = from c in xmlDoc.Root.Descendants("Queue")
select new Queue
{
Number = c.Element("Number").Value,
Name = c.Element("Name").Value,
QueueTag= c.Element("QueueTag").Value
};
var queryAsList = new BindingList<Queue>(q.ToList());
bindingSource1.DataSource = queryAsList;
dataGridView1.DataSource = bindingSource1;
Cela me permet d'ajouter et de supprimer des lignes et des données du dataGridView :)
Mais je ne trouve toujours aucun moyen d'écrire les données en XML, soit à partir de dataGridView ou de la bindingSource1 :(
Toute aide s'il vous plaît? le bindingSource1.count change chaque fois que je fais une modification aux données donc je pense que je suis proche!