0
我有一個LINQ查詢,我在使用Group By,我使用下面的查詢來綁定一個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();
而不是創建一個匿名類型,你嘗試過一個對象'員工' –