您好,我第一次尝试使用 DataGridView 和 LINQ。
这就是我正在尝试做的事情:
我想使用它(尽管它不必使用 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 添加和删除行和数据:)
但我仍然找不到从 dataGridView 或 BindingSource1 将数据写回 XML 的方法:(
有什么帮助吗?
每次我更改数据时,绑定源1.count都会更改,所以我认为我已经很接近了!