C# 在两个日期之间搜索,并使用xml文件中的日期填充datagrid
所以我有点卡住了,我想创建一个表单,允许用户选择一个日期,然后选择第二个日期,系统将用两个日期之间的所有事件日期填充DataGridView。我看过在线教程,但它们都使用sql而不是xml 完美的场景应该是用户选择date1,然后选择date2,系统从xml检索date1到date2之间的日期,并填充DataGridView上的信息C# 在两个日期之间搜索,并使用xml文件中的日期填充datagrid,c#,xml,datagridview,C#,Xml,Datagridview,所以我有点卡住了,我想创建一个表单,允许用户选择一个日期,然后选择第二个日期,系统将用两个日期之间的所有事件日期填充DataGridView。我看过在线教程,但它们都使用sql而不是xml 完美的场景应该是用户选择date1,然后选择date2,系统从xml检索date1到date2之间的日期,并填充DataGridView上的信息 请您也给出一个代码示例。首先,您需要得到date1和date2之间的结果 其次,需要根据结果创建一个动态数据表 最后,您可以在datagirdview中显示相应的数
请您也给出一个代码示例。首先,您需要得到date1和date2之间的结果 其次,需要根据结果创建一个动态数据表 最后,您可以在datagirdview中显示相应的数据 下面是一个代码示例
private void button1_Click(object sender, EventArgs e)
{
DateTime formatter = dateTimePicker1.Value;
DateTime latter = dateTimePicker2.Value;
XDocument doc = XDocument.Load("D:\\t.xml");
var result = (from x in doc.Descendants("Student")
where Convert.ToDateTime(x.Element("Date").Value) <= latter && Convert.ToDateTime(x.Element("Date").Value) >= formatter
select x).ToList();
List<string> column = new List<string>();
foreach (var item in result.Elements())
{
column.Add(item.Name.ToString());
}
column=column.Distinct().ToList();
DataTable table = new DataTable();
foreach (var item in column)
{
table.Columns.Add(item);
}
foreach (var item in result)
{
table.Rows.Add(item.Element("Name").Value, item.Element("Date").Value, item.Element("Age").Value);
}
dataGridView1.DataSource = table;
}
private void按钮1\u单击(对象发送者,事件参数e)
{
DateTime格式化程序=dateTimePicker1.Value;
DateTime Later=dateTimePicker2.Value;
XDocument doc=XDocument.Load(“D:\\t.xml”);
变量结果=(从文件子体(“学生”)中的x开始)
其中Convert.ToDateTime(x.Element(“Date”).Value)=格式化程序
选择x).ToList();
列表列=新列表();
foreach(result.Elements()中的变量项)
{
column.Add(item.Name.ToString());
}
column=column.Distinct().ToList();
DataTable=新的DataTable();
foreach(列中的var项)
{
表.列.添加(项目);
}
foreach(结果中的var项目)
{
表.Rows.Add(item.Element(“Name”).Value、item.Element(“Date”).Value、item.Element(“Age”).Value);
}
dataGridView1.DataSource=表;
}
Xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<School>
<Student>
<Name>test1</Name>
<Date>2019-01-02</Date>
<Age>21</Age>
</Student>
<Student>
<Name>test2</Name>
<Date>2019-03-01</Date>
<Age>22</Age>
</Student>
<Student>
<Name>test3</Name>
<Date>2019-07-01</Date>
<Age>22</Age>
</Student>
<Student>
<Name>test4</Name>
<Date>2019-10-05</Date>
<Age>23</Age>
</Student>
<Student>
<Name>test5</Name>
<Date>2019-11-01</Date>
<Age>24</Age>
</Student>
</School>
测试1
2019-01-02
一个新的xml示例,有几个重复的节点。有没有可能只是一个示例?有太多不同样式的xml文件,无法随机给出一个与您的要求无关的示例。刚刚发布了我的xml文件我已经提供了我编写的xml,如果您想使用您的xml,你可以参考我写的代码。什么是XDocument?你可以参考。