c# - 用新的 SQL 数据刷新 ReportViewer
问题描述
我有一个使用 ReportViewer 来显示 SSRS 服务器端报告的网站。我还有控件/文本框,用于使用 jQuery/AJAX 更新后面的数据。我想尽量避免任何页面重新加载。
我现在尝试在更新数据后刷新 ReportViewer,而无需重新加载页面。不幸的是,我不明白是否有办法将新数据(重新)加载到 ReportViewer 中。在 ReportViewer 控件中使用 refreshReport 方法只会使用旧数据重新呈现。
使用此代码更新数据,ReportViewer / 报告刷新,但使用旧数据。
我可以在不重新加载某种页面的情况下从数据库中获取新数据到报告中吗?
<script type="text/javascript">
function SaveData() {
var data = { text: $('#textBox').val() }
$.ajax({
type: "POST",
url: "ajax.aspx/SaveData",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
}
});
}
function OnSuccess(response) {
var clientViewer = $find("MainReportViewer");
if (clientViewer) {
clientViewer.refreshReport();
}
}
</script>
<rsweb:ReportViewer ID="MainReportViewer" runat="server" ProcessingMode="Remote" Width="100%" Height="100%" AsyncRendering="False" SizeToReportContent="True" ShowToolBar="False" ShowParameterPrompts="False">
<ServerReport ReportPath="/Rep/Rep" ReportServerUrl="http://localhost/reportserver" />
</rsweb:ReportViewer>
<button id="SaveButton" name="SaveButton" type="button" onclick="SaveData()" class="ui-button ui-widget ui-corner-all ui-button-icon-only"><span class="ui-icon ui-icon-disk"></span> </button>
解决方案
请按照以下步骤使其工作:
- 使用像ASP.net Timer和JavaScript Timer 这样的 Timer
- 每次 Tick 并使用Tick 事件刷新数据库中的数据
- Elapse Time Out 然后你的数据重新加载withOut 页面刷新
伙计,这些步骤肯定有效。
任何疑问请在评论中提问。
推荐阅读
- powershell - 学生多添加用户脚本,get-aduser 上的过滤器损坏
- javascript - PHP & JS - If 语句中的 Cookie 值导致错误
- html - CSS - 另一个悬停时的悬停触发器
- json - 使用不同的模式合并数据帧 - Scala Spark
- ios - 收听和取消其他应用的通知
- aframe - 有没有办法在 A-Frame 中创建一个空心圆圈?
- php - 在 Laravel Controller 中调用 JS 函数
- javascript - 使用 JAVASCRIPT 创建的计数器不起作用
- php - PHP从多维数组/ JSON中提取数据
- flutter - 下拉选定对象显示为字符串