我正在努力在网格视图的代码隐藏中创建一系列模板字段。数据源是一个对象,该对象内部是另一个对象,它是具有一系列属性的列表对象。我想要的是在列中显示所有这些。List 中的每个元素都将成为一列,并且元素中的每个值都将显示在该列中。例如,如果我在 List 中有 5 个元素,其中有两个值,那么我想要 5 列并显示这两个值。
搜索我只找到了基于使用 ITemplate 的数据库源的示例,我尝试使用它,但未能工作。
有人可以帮忙吗?
标记很简单
<asp:GridView runat="server" ID="grdvwMyTable" AutoGenerateColumns="false"/>
在后面的代码中,在我的自定义控件上的页面加载事件中
MyObject obj = new MyObject();
MyMapper map = new MyMapper();
obj = map.MapObjects();
TemplateField dayOne = new TemplateField();
dayOne.HeaderText = obj.WeeklyShifts.Select(a=> a.StartTime)//<- Weekly Shifts is a List and Start Time is a property of this object.
dayOne.ItemTemplate = new AddTemplateToGridView(ListItemType.Item, obj.WeeklyShifts.Select(a=> a.ShiftName)// <- This is also part of the List object.
如您所见,我正在尝试从列表对象创建一列。我的 List 对象中有五个元素WeeklyShifts
,它们本身就是 obj 的一部分。我想将开始时间作为我的标题,并且ShiftName
在该列中加上该列中还会有一些其他值,但我需要重复此模式 5 次,即五天。