如何解决在下一页或上一页按钮上,单击请求转到服务器,但对于单选按钮,此选项将在水晶报表中保持上一按钮的值
当我在不同标签中打开这些单选按钮报告时,我有多个单选按钮,之后我进入任意随机标签报告,然后单击下一页按钮或上一页按钮,它将呈现上一次打开的状态标签的报告数据。由于原因,它进入服务器端ReportViewer.aspx.cs,在那儿我已经基于单选按钮创建了开关盒,并且该代码保留了在最后一个选项卡中打开的单选按钮的最后一个值。因此,在这里我陷入了如何在选项卡更改时刷新单选按钮值的问题,它现在应该检测到哪个单选按钮报告请求到来了。图片下方显示了单选按钮和 code 也在下面给出
if (reportFilterParams != null)
{
if (reportFilterParams.SelectedReportName == PurchaseSheetChildReport.PurcaseDepotReceievedSheet)
{
errorMessage.Text = "Report Not Found";
}
else if (reportFilterParams.SelectedReportName == PurchaseSheetChildReport.PurcaseSummaryCircleAndGrowerWise)
{
errorMessage.Text = "Report Not Found";
}
else if (reportFilterParams.SelectedReportName == PurchaseSheetChildReport.PurcaseSummaryCircleAndGrowerWiseDetail)
{
reportPath = Server.MapPath("../../Reports/Grower/PurchaseSummaryCricleAndGrowerWiseDetail.rpt");
ReportDocument.Load(reportPath);
ReportDocument.DataDefinition.FormulaFields["ReportName"].Text = "'Purchase Summary Circle And Grower Wise Detail'";
PurchaseSheetSummaryCPWiseAndCenterWise();
}
}
Image for radio button display
解决方法
我以这种方式解决了这个问题,我只是在进行提交调用时在客户端设置了带有单选按钮值的选项卡标题,并通过下面给出的c#代码获取了当前选项卡的值,然后在单击时与每个单选按钮进行了会话在下一页或上一页按钮上,它会转到带有选项卡值的服务器,并获得带有选项卡标题值的会话值。
[使用浏览器选项卡中的单选按钮值设置标题,如图所示] [1] [1]:https://i.stack.imgur.com/0YOpT.jpg
//client side code in javascript
if (reportValueForName != undefined)
window.document.title = $("input:checked + label").text() + "_" + reportValueForName;
else
window.document.title = $("#reportNameMaster").text() + " Report";
//Server side code
string curentTabReportName = GetTabTitle();
string resultString = Regex.Match(curentTabReportName,@"\d+").Value;
if (resultString != "")
{
reportFilterParams.SelectedReportName = Convert.ToInt32(resultString);
}
public string GetTabTitle()
{
string currentReportTabTitle = "";
Process[] procsChrome = Process.GetProcessesByName("chrome");
if (procsChrome.Length <= 0)
{
Console.WriteLine("Chrome is not running");
}
else
{
foreach (Process proc in procsChrome)
{
//the chrome process must have a window
if (proc.MainWindowHandle == IntPtr.Zero)
{
continue;
}
currentReportTabTitle = proc.MainWindowTitle;
}
}
return currentReportTabTitle;
}
//Set the session value
Session["reportFilterParams" + reportFilterModel.UserName + reportFilterModel.MenueId + reportFilterModel.SelectedReportName] = reportFilterModel;
//Get the session value
if (Session["reportFilterParams" + Session["UserName"] + int.Parse(Request.QueryString["id"] + reportFilterParams.SelectedReportName)] as ReportFilterModel != null)
{
reportFilterParams = Session["reportFilterParams" + Session["UserName"] + int.Parse(Request.QueryString["id"] + reportFilterParams.SelectedReportName)] as ReportFilterModel;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。