我正在使用VS2012在ASP.NET C#framework 4.0中进行一个项目。我需要创建一个ReportViewer。我创建了报告.rdlc,但是当我尝试在视图中显示它时,它显示为空白(报告查看器控件的工具栏出现并显示1/1页)。我在IE9,IE10,Mozilla和Chrome中测试过它,结果是一样的。
以下是视图的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FitxaBolo.aspx.cs" Inherits="Activa_la_Cultura.Views.FitxaBolo" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
<div>
<rsweb:ReportViewer AsyncRendering="False" id="ReportViewer1" runat="server" Height="1200px" Width="1200px"></rsweb:ReportViewer>
</div>
</form>
</body>
</html>
这是背后的代码:
if (!Page.IsPostBack)
{
var compañia = (string)HttpContext.Current.Session["compañia"];
var actividad = (string)HttpContext.Current.Session["actividad"];
var municipio = (string)HttpContext.Current.Session["municipio"];
var fecha = (string)HttpContext.Current.Session["fecha"];
var lugar = (string)HttpContext.Current.Session["lugar"];
var horario = (string)HttpContext.Current.Session["horario"];
var llegada = (string)HttpContext.Current.Session["llegada"];
var contacto = (string)HttpContext.Current.Session["contacto"];
var observaciones = (string)HttpContext.Current.Session["observaciones"];
var table = new DataSet1().Bolo;
table.AddBoloRow(compañia, actividad, municipio, fecha, lugar, horario, llegada, contacto, observaciones);
DataTable tb = (DataTable) table;
var rds = new ReportDataSource(table.TableName,tb);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/FBolo_Report.rdlc");
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
}
我检查所有变量是否都有值,并且报告的路径是正确的。啊,我正在填写一个名为Dataset1的DataSet报告,而且这个名为Bolo的表有比喻,fecha等字段......
我向web.config添加了与reportviewer控件相关的所有行,具体地说是版本11.
提前致谢。
答案 0 :(得分:0)
试试这个:
附加以下脚本:
function pageLoad() {
var element = document.getElementById("ctl31_ctl09");
if (element)
{
element.style.overflow = "visible";
} }
请注意:div的名称并不总是ctl31_ctl09
:在我的情况下,它是(以前的服务包是ctl31_ctl10
,而不是)。
如果此解决方案不起作用,请查看浏览器中的HTML,看看脚本是否已正常运行,将overflow:auto
属性更改为overflow:visible
;你必须在sctipt中更改div名称,也许。