Я пытаюсь привязать данные к gridview. В моих столбцах у меня есть 2 столбца, которые содержат список значений, но мой gridview не отображает данные для этих двух столбцов. Что я делаю неправильно с этим? Это мой код для контроллера griview»Показать список значений в Gridview
[DataObjectMethod(DataObjectMethodType.Select, false)]
public List<ListCourseByProgram> GetCourseByProgram(string programID)
{
int intProgramID = Int32.Parse(programID);
using (HiveMindContext context = new HiveMindContext())
{
var results = from data in context.Courses
where data.ProgramID == intProgramID
select new ListCourseByProgram()
{
CourseID = data.CourseID,
ProgramID = intProgramID,
CourseName = data.CourseName,
Active = data.Active,
Credit = data.Credit,
Pre_Requisites = data.Pre_Requisites,
EquivCourseName = from equiName in data.Equivalencies
where data.CourseID == equiName.CourseID
select new CourseNameEquivalency()
{
EquivCourseName = equiName.EquivCourseName,
},
EquivCourseID = from equiID in data.Equivalencies
where data.CourseID == equiID.CourseID
select new CourseIDEquivalency()
{
EquivCourseID = equiID.EquivCourseID
}
};
return results.ToList();
}
}
Это мой код для Gridview:
<asp:GridView ID="Courses_Grid" runat="server" AutoGenerateColumns="False" Width="700px" >
<Columns>
<asp:TemplateField Visible="true">
<HeaderTemplate>
CourseID
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblCourseID" runat="server" Text= '<%#Eval("CourseID") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ProgramID" HeaderText="ProgramID" SortExpression="ProgramID"></asp:BoundField>
<asp:BoundField DataField="CourseName" HeaderText="CourseName" SortExpression="CourseName"></asp:BoundField>
<asp:CheckBoxField DataField="Active" HeaderText="Active" SortExpression="Active"></asp:CheckBoxField>
<asp:BoundField DataField="Credit" HeaderText="Credit" SortExpression="Credit"></asp:BoundField>
<asp:BoundField DataField="Pre_Requisites" HeaderText="Pre_Requisites" SortExpression="Pre_Requisites"></asp:BoundField>
<%--<asp:BoundField DataField="EquivCourses" HeaderText="Equivalency" SortExpression="EquivCourses"></asp:BoundField>--%>
<asp:TemplateField Visible="true">
<HeaderTemplate>
EquivalencyCourseName
</HeaderTemplate>
<ItemTemplate>
<asp:Repeater ID="CourseEquivRepeater" runat="server" DataSource='<%#Eval("EquivCourseNames")%>'>
<ItemTemplate>
<%# (Container.ItemIndex+1)+"."+ Container.DataItem %><br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="true">
<HeaderTemplate>
EquivalencyCourseID
</HeaderTemplate>
<ItemTemplate>
<asp:Repeater ID="CourseEquivRepeater2" runat="server" DataSource='<%#Eval("EquivCourseIDs")%>'>
<ItemTemplate>
<%# (Container.ItemIndex+1)+"."+ Container.DataItem %><br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:TemplateField>
</Columns>
Спасибо за ваш ответ. Но этот запрос используется для выбора списка значений, а тип данных EquivCourseName и EquivCourseID Ienumerable <>. Поэтому я думаю, что мне нужно вернуть список значений для них. – Kranatos
Это класс DTO для моего контроллера: Публичный класс ListCourseByProgram { { public int CourseID {get; задавать; } public int ProgramID {get; задавать; } public string CourseName {get; задавать; } public bool Active {get; задавать; } public decimal Credit {get; задавать; } public string Pre_Requisites {get; задавать; } public IEnumerable EquivCourseName {get; задавать; } // public String EquivCourses {get; задавать; } public IEnumerable EquivCourseID {get; задавать; } } –
Kranatos
, то вы должны изменить свою сетку или использовать результат, разделенный на комы –