如何在C#中的单个gridview中绑定两个列表 [英] How to bind two list in a single gridview in C#

查看:161
本文介绍了如何在C#中的单个gridview中绑定两个列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我有两个列表,我希望将它绑定到c#中的单个gridview中。



Hi guys,

I have two lists, i want to bind it into a single gridview in c#.

public class timeSlots
{
   public string StartTimeSlots { get; set; }
        public List<DateTime> StartTimeSlotList
        {
            get { return StartTimeSlots.Split(',').Select(DateTime.Parse).ToList();  }

            set
            {
                StartTimeSlots = StartTimeSlots.Remove(StartTimeSlots.Length - 1);
            }
        }

        public string EndTimeSlots { get; set; }
        public List<DateTime> EndTimeSlotList
        {
            get { return EndTimeSlots.Split(',').Select(DateTime.Parse).ToList();  }

            set
            {
                EndTimeSlots = EndTimeSlots.Remove(EndTimeSlots.Length - 1);
            }
        }
}





我尝试了什么:



i希望将StartTimeSlotList和EndTimeSlotList绑定到单个gridview中。



任何人都可以帮助我。





谢谢



What I have tried:

i want to bind StartTimeSlotList and EndTimeSlotList into a single gridview.

Can any one please help me.


Thanks

推荐答案

错误的方法!



timeSlot 类应定义为:

Wrong approach!

timeSlot class should be defined as:
public class TimeSlot
{
	private DateTime startDT = new DateTime(1901,1,1); //defualt start time
	private DateTime endDT = new DateTime(1901,1,1); //defualt end time
	
	public TimeSlot()
	{
		//default constructor
	}
	
	public TimeSlot(DateTime sDT, DateTime eDT)
	{
		startDT = sDT;
		endDT = eDT;
	}
	
	public DateTime StartTime
	{
		get { return startDT; }
		set { startDT = value; }
	}

	public DateTime EndTime
	{
		get { return endDT; }
		set { endDT = value; }
	}
}



接下来,您必须创建列表< TimeSlot> 类:


Next, you have to create List<TimeSlot> class:

List<TimeSlot> timeslots = new List<TimeSlot>();
DateTime dt = DateTime.Now;
//insert sample data 
for (int i=-200;i<0; i+=5)
{
    timeslots.Add(new TimeSlot(dt.AddHours(i), dt.AddHours(i+(i%2==0?1:2))));
}





最后:



Finally:

DataGridView1.DataSource = timeslots;


使用类似下面的内容



use something like below

var timeSlots = StartTimeSlots.Join(EndTimeSlots,st => StartTimeSlots.IndexOf(st), et => EndTimeSlots.IndexOf(et), (st, et) => new { newst = st, newet = et }).ToList();


这篇关于如何在C#中的单个gridview中绑定两个列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆