我有一个 winForm,我将一个 xml 文件拖到上面,它用文件的内容填充 datagridview。这很好用,我现在要完成的是;一旦第一个文件加载到 View 中,我希望能够拖动另一个文件并将其添加到 View 的末尾或开头。所以,简而言之,我希望能够拖动多个文件并将它们全部显示在 View 中。这可能吗? 谢谢
var Persons = new List<Person>();
var lst = new List<Person>();
var xml = XDocument.Load(fileName);
var NewPerson = from person in xml.Descendants("Person")
from jobs in person.Descendants("Jobs")
from job in jobs.Descendants("Job")
select new Person
{
FirstName = person.Element("FirstName").Value,
JobTitle = job.Element("JobTitle").Value,
};
foreach (var data in NewPerson)
{
Persons.Add(data);
}
dataGridView1.DataSource = Persons;
最佳答案
如果将 XML 文件加载到 ADO.NET DataTable 中,则可以将连续的文件加载到临时 DataTable 中,然后使用 DataTable.Merge合并多个数据的方法。
更新
根据您的代码,该方法更加简单。只需声明
var Persons = new List<Person>()
超出此代码范围的某处(例如,使其成为全局 Form 变量)。这样每次你调用你的
foreach (var data in NewPerson)
{
Persons.Add(data);
}
它会将项目添加到已由先前加载填充的列表中。
关于c# - "ADD"从 XML 文件到 DataGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18023666/