网格视图未正确绑定:

本文关键字:绑定 视图 网格 | 更新日期: 2023-09-27 17:59:15

我有一个LINQ查询,我在其中使用GroupBy,并使用下面的查询绑定GridView。但是GridView没有正确绑定。在所有的行中,它显示如下:

System.Linq.Enumerable+WhereSelectEnumerableIterator 2[<>f__AnonymousType652 6[System.Nullable`1[System.Int32],System.String,System.String、System.String、System.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();

网格视图未正确绑定:

为网格绑定定义一个新类,例如具有必要属性的"EmployeeResults"。并创建一个要绑定到网格的对象列表。

List<EmployeeResults> employeeResults = Linq query. //Cast linq results to EmployeeResults
grdEmployeeDetails.DataSource = employeeResults;
grdEmployeeDetails.DataBind();