0
그룹화 기준을 사용하는 LINQ 쿼리가 있으며 아래 쿼리를 사용하여 GridView를 바인딩하고 있습니다. 그러나 GridView가 제대로 바인딩되지 않습니다.Gridview가 올바르게 바인딩되지 않았습니다.
System.Linq.Enumerable + WhereSelectEnumerableIterator
2[<>f__AnonymousType652
6 System.Nullable`1 [선택 System.Int32, 선택 System.String, 선택 System.String, 선택 System.String 시스템을 모든 행에서, 아래와 같이 도시 .String, 선택 System.Int32, 선택 System.String]
내 aspx 페이지는
<Columns>
<asp:TemplateField HeaderText="Sl no." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<div style="margin: 0px auto; width: auto;">
<asp:Label ID="lblslno" runat="server" Text='<%#Container.DisplayIndex+1 %>'>'></asp:Label>
<asp:HiddenField ID="hf" runat="server" Value='<%#Eval("EmpId") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Employee Code." DataField="EmpCode" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Employee Name" DataField="Name" />
<asp:BoundField HeaderText="Department" DataField="DeptName" />
<asp:BoundField HeaderText="Designation" DataField="DesigName" />
<asp:TemplateField HeaderText="Total Marks" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblTotalMarks" runat="server" CssClass="Label" Text='<%#Eval("Total_Mark") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Marks Secured" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblMarksSecured" runat="server" CssClass="Label" Text='<%#Eval("Total_Mark") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
이며, 내 코드 뒤에이
var query = (from a in TraningScheduleDetails
from b in TraningAnshwerSheet
from c in TraningAnshwerSheetDetails
from d in EmpProfessionalDetails
from e in EmpProfessionalJobDetails
from f in Department
from g in Designation
where a.TrainingScheduleDetailId == int.Parse(ddlExamDate.SelectedValue)
&& a.TrainingScheduleDetailId == b.TrainingScheduleDetailId
&& b.TrainingAnswerSheetId == c.TrainingAnswerSheetId
&& b.EmployeeProfessionalDetailId == d.EmployeeProfessionalDetailId
&& d.EmployeeProfessionalDetailId == e.EmployeeProfessionalDetailId
&& e.DepartmentId == f.DepartmentId
&& e.DesignationId == g.DesignationId
select new
{
b.EmployeeProfessionalDetailId,
Name = d.FirstName + " " + d.MiddleName + " " + d.LastName,
d.EmployeeCode,
f.DepartmentName,
g.DesignationName,
Total_Mark = total_Mark,
}).ToList();
var query2=(from a in query group a by a.EmployeeProfessionalDetailId into b
select new
{
EmpId=b.Key,
Name=b.Select(c =>c.Name),
EmpCode=b.Select(c=>c.EmployeeCode),
DeptName=b.Select(c=>c.DepartmentName),
DesigName=b.Select(c=>c.DesignationName),
Total_Mark=b.Select(c=>c.Total_Mark),
}).ToList();
grdEmployeeDetails.DataSource = query2;
grdEmployeeDetails.DataBind();
같다
익명 형식을 만드는 대신 'Employee' 개체를 사용 해본 적이 있습니까? –