Привет Я пытаюсь использовать DataGridView в первый раз и с LINQ.LINQ to XML и DataGridView
Вот что я пытаюсь сделать: Я хочу использовать его (хотя это не обязательно для DataGridView), чтобы читать и отображать содержимое XML-файла (этот бит - рабочий код ниже), но я хотите иметь кнопку добавления строки в форме или в DataGridView, которая берет содержимое трех текстовых полей и заполняет содержимое трех столбцов новой строки. Новая строка должна быть добавлена к существующим данным.
Далее я хотел бы добавить кнопку «Удалить», чтобы удалить текущую выбранную строку.
И, наконец, я хочу кнопку сохранения, которая экспортирует содержимое DataGridView обратно в файл XML, перезаписывающий/обновляющий существующий файл XML.
Так что я застрял в добавлении дополнительных данных! но поскольку в настоящее время у меня нет подсказки относительно удаления или сохранения, либо я думал, что я попрошу все за один раз!
Так что это код, который я должен прочитать файл 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();
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>
хорошо я теперь изменил код так:
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;
Это позволяет мне добавлять и удалять строки и данные из dataGridView :)
Но я все еще не могу найти способ вернуть данные в XML либо из dataGridView, либо из bindingSource1 :(
Любая помощь пожалуйста? bindingSource1.count меняется каждый раз, когда я вношу изменения в данные, поэтому я думаю, что я близок!