C# 回发上的绑定LINQ查询有行,但没有';t显示在屏幕上
我有一个使用LINQ查询绑定的gridview,最初它绑定完美,但在回发时,回发触发,LINQ查询代码运行完美并生成行。我显式地将结果分配为datasourcecce并绑定gridview(与初始绑定使用的查询相同),。在调试期间检查gridview中的行,有行,但不在屏幕上显示。需要帮忙吗 下面是隐藏的代码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.
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查询的整个事件代码吗?我说这是
页面加载
事件。