Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 回发上的绑定LINQ查询有行,但没有';t显示在屏幕上_C#_Linq_Gridview_Binding - Fatal编程技术网

C# 回发上的绑定LINQ查询有行,但没有';t显示在屏幕上

C# 回发上的绑定LINQ查询有行,但没有';t显示在屏幕上,c#,linq,gridview,binding,C#,Linq,Gridview,Binding,我有一个使用LINQ查询绑定的gridview,最初它绑定完美,但在回发时,回发触发,LINQ查询代码运行完美并生成行。我显式地将结果分配为datasourcecce并绑定gridview(与初始绑定使用的查询相同),。在调试期间检查gridview中的行,有行,但不在屏幕上显示。需要帮忙吗 下面是隐藏的代码 var tl = (from i in dbcontex.SelectionProcesses where i.VA.Position.Section.

我有一个使用LINQ查询绑定的gridview,最初它绑定完美,但在回发时,回发触发,LINQ查询代码运行完美并生成行。我显式地将结果分配为datasourcecce并绑定gridview(与初始绑定使用的查询相同),。在调试期间检查gridview中的行,有行,但不在屏幕上显示。需要帮忙吗

下面是隐藏的代码

var tl = (from i in dbcontex.SelectionProcesses
                  where i.VA.Position.Section.Contains( cmbSecs.SelectedValue) &&
                  i.VA.Position.DutyStation.Contains(cmbDutyS.SelectedValue) &&
                  i.VA.Position.Status != "Filled"
                  select new
                  {
                      i.VANo,
                      i.VA.Position.Level,
                      i.VA.ClosingDate,
                      i.TimeLine.NumAllottedDays,
                      DateOfferGiven=i.DateOfferGiven.Value==null?DateTime.MinValue:i.DateOfferGiven.Value,
                      DateApproved= i.DateApproved.Value==null?DateTime.MinValue:i.DateApproved.Value,
                      DateApprovedByRep = i.DateApprovedByRep.Value == null ? DateTime.MinValue : i.DateApprovedByRep.Value,
                      DateCRBConducted = i.DateCRBConducted.Value == null ? DateTime.MinValue : i.DateCRBConducted.Value,
                      DateCBIConducted = i.DateCBIConducted.Value == null ? DateTime.MinValue : i.DateCBIConducted.Value,
                      DateFinalShortReceived = i.DateFinalShortReceived.Value == null ? DateTime.MinValue : i.DateFinalShortReceived.Value,
                      DatePrescreenedCVSent = i.DatePrescreenedCVSent.Value == null ? DateTime.MinValue : i.DatePrescreenedCVSent.Value


                  }).ToList().
                 Select(l => new
                         {
                             l.VANo,
                             l.Level,
                             ClosingDate = l.ClosingDate.ToString("dd-MMM-yyyy"),
                             PreScreen =l.DatePrescreenedCVSent>l.ClosingDate?(l.DatePrescreenedCVSent - l.ClosingDate).Duration().Days:0,
                             ShortListing = l.DateFinalShortReceived>l.DatePrescreenedCVSent?(l.DateFinalShortReceived - l.DatePrescreenedCVSent).Duration().Days:0,
                             CBI = l.DateCBIConducted>l.DateFinalShortReceived?(l.DateCBIConducted - l.DateFinalShortReceived).Duration().Days:0,
                             RepApproval = l.DateApprovedByRep>l.DateCRBConducted?(l.DateApprovedByRep - l.DateCRBConducted).Duration().Days:0,
                             ESARDHR = !l.Level.Contains("GS") || l.DateApprovedByRep>l.DateApproved ? 0  : (l.DateApproved - l.DateApprovedByRep).Duration().Days,
                             Offer = l.DateOfferGiven>l.DateApproved ?(l.DateOfferGiven - l.DateApproved).Duration().Days:0,
                             TotalAllowed = l.NumAllottedDays
                         }).ToList().
                         Select(i => new
                         {
                             i.VANo,
                             i.Level,
                             i.ClosingDate,
                             i.PreScreen,
                             i.ShortListing,
                             i.CBI,
                             i.RepApproval,
                             i.ESARDHR,
                             i.Offer,
                             i.TotalAllowed,
                             TotalDaysTaken=i.PreScreen+i.ShortListing+i.CBI+i.RepApproval+i.Offer+i.ESARDHR
                         }
                         ).OrderBy(l => l.Level);
        var x = tl;
        gvTimeLine.DataSource = x;
        gvTimeLine.DataBind();
        if (gvTimeLine.Rows.Count > 0)
        {
            gvTimeLine.SelectedIndex = 0;
            gvTimeLine_SelectedIndexChanged(this, GridViewSelectEventArgs.Empty);
        }
html

      <asp:GridView ID="gvTimeLine" runat="server"  AutoGenerateColumns="false"
                Caption="List of Recruitment Time Lines Showing days taken" 
                CellPadding="4" 
                ForeColor="#333333"  Width="100%" 
                onrowdatabound="gvTimeLine_RowDataBound"  GridLines="Vertical"
                EmptyDataText="No Recruitment is underway" 
                AutoGenerateSelectButton="true" ShowHeaderWhenEmpty="True" 
                DataKeyNames="VANo" 
                onselectedindexchanged="gvTimeLine_SelectedIndexChanged" 
                style="margin-top: 0px">
                <Columns>
                    <asp:TemplateField HeaderText="VA/ReqNo">
                        <ItemTemplate>
                            <asp:HyperLink ID="hplk" runat="server" NavigateUrl="#"  
                         Text='<%# Bind("VANo") %>'></asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                <asp:BoundField DataField="Level" HeaderText ="Level" />
                <asp:BoundField DataField="ClosingDate" HeaderText ="Closing Date" />
                <asp:BoundField DataField="PreScreen" HeaderText ="Prescreen" />
                <asp:BoundField DataField="ShortListing" HeaderText ="Short Listing" />
                <asp:BoundField DataField="CBI" HeaderText ="CBI" />
                <asp:BoundField DataField="RepApproval" HeaderText ="Rep Approval" />
                <asp:BoundField DataField="ESARDHR" HeaderText ="ESAR/DHR" />
                <asp:BoundField DataField="Offer" HeaderText ="Offer" />
                <asp:BoundField DataField="TotalAllowed" HeaderText ="Total Days 
                  Allowed" />
                <asp:BoundField DataField="TotalDaysTaken" HeaderText ="Total Days 
                 Taken" />
                <asp:TemplateField HeaderText ="TimeLine">
                <ItemTemplate>
                <eo:ProgressBar ID="prgStatus" ControlSkinID="None" Width="68px" 
                        runat="server" Height="16px" BackColor="#C7C7C7">
                </eo:ProgressBar>
                </ItemTemplate>
                </asp:TemplateField>
                </Columns>

          </Asp:Gridview>

在绑定任何新数据之前,请尝试清除数据源。以下代码将清除任何现有数据。当然,除非问题是您正在分配的数据源具有重复的数据

gridview.DataSource = null;
gridview.DataBind();

希望这有帮助。如果没有,请评论

我们需要查看您的代码才能提供帮助。如果您在帖子中添加了代码,*.aspx页面有一个gridview,其中autogeneratecolumns设置为false,这是因为我已自定义了列。不确定这是否能解决问题,但您是否尝试过gvTimeLine.DataSource=x.ToList();?您还可以发布gridview的html吗?Samar,我同意您的建议,但是您知道查询最初绑定得很好,但是在回发过程中它确实生成了结果,但是gridview没有显示Hello guys!,任何解决方法…,我都无法解决这个问题。事实上,我已经解决了,但这并不能解决上述问题,。。。请问您在执行什么项目的回邮?还可以显示包含上述LINQ查询的整个事件代码吗?我说这是
页面加载
事件。