C# 如何在datagridview中加载多个列表
我目前正在使用Windows窗体应用程序,我有3个数据列表,我想将每个列表添加到datagrid的一列中。有没有办法我可以做到这一点C# 如何在datagridview中加载多个列表,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我目前正在使用Windows窗体应用程序,我有3个数据列表,我想将每个列表添加到datagrid的一列中。有没有办法我可以做到这一点 XDocument doc = XDocument.Load(Globals.pathNotifFile); var dates = doc.Descendants("Date"); var hours = doc.Descendants("Time"); var message = doc.Desc
XDocument doc = XDocument.Load(Globals.pathNotifFile);
var dates = doc.Descendants("Date");
var hours = doc.Descendants("Time");
var message = doc.Descendants("Message");
var hoursCollection = new List<String>();
var dateCollection = new List<String>();
var messageCollection = new List<String>();
foreach (var date in dates)
{
dateCollection.Add(date.Value);
}
foreach (var hour in hours)
{
hoursCollection.Add(hour.Value);
}
foreach (var messages in message)
{
messageCollection.Add(messages.Value);
}
return Tuple.Create(hoursCollection,dateCollection, messageCollection);
}
XDocument doc=XDocument.Load(Globals.pathNotifFile);
var日期=单据子代(“日期”);
var小时数=单据子体(“时间”);
var消息=文件子体(“消息”);
var hourscolection=新列表();
var dateCollection=新列表();
var messageCollection=新列表();
foreach(日期中的var日期)
{
dateCollection.Add(date.Value);
}
foreach(以小时为单位的var小时)
{
hoursCollection.Add(小时值);
}
foreach(消息中的var消息)
{
messageCollection.Add(messages.Value);
}
返回Tuple.Create(hourscolection、dateCollection、messageCollection);
}
完成此任务的最简单方法是构建一个包含三个数据点的对象。例如:
public class MyGridDateTime
{
public string Hour{get;set;}
public string Date{get;set;}
public string Message{get;set;}
}
public void InitalizeGrid()
{
List<MyGridDateTime> list = new List<MyGridDateTime>();
int i = 0;
foreach (string hour in hoursCollection)
{
list.Add(new MyGridDateTime {Hour = hour, Date = dateCollection[i], Message = messageCollection[i]};
i++;
}
grid.DataSource = list;
}
公共类MyGridDateTime
{
公共字符串Hour{get;set;}
公共字符串日期{get;set;}
公共字符串消息{get;set;}
}
public void initializegrid()
{
列表=新列表();
int i=0;
foreach(以小时为单位的字符串小时集合)
{
添加(新的MyGridDateTime{Hour=Hour,Date=dateCollection[i],Message=messageCollection[i]};
i++;
}
grid.DataSource=list;
}
请注意,只有当所有列表都包含相似数量的数据时,此选项才有效。否则,如果列表大小不同,则需要将其更新为string.empty而不是Exception。能否给出一个图像的显示方式?我认为您的问题应该是如何将Tuple绑定到DataGridView,我认为这是不可能的。