2008-08-21 75 views

回答

2

这是一种破解,但您可以使用JavaScript进行移动。只要看看ReportViewer生成的HTML,并编写相应的JavaScript代码来移动按钮。我使用JavaScript来隐藏按钮(因为我们需要我们自己的查看报告按钮)。任何操作生成的ReportViewer HTML的JavaScript代码都必须位于.aspx页面中的ReportViewer控件之后。这里是我的隐藏按钮的代码,给你的,你会怎么做一个想法:

function getRepViewBtn() { 
    return document.getElementsByName("ReportViewer1$ctl00$ctl00")[0]; 
} 

function hideViewReportButton() { // call this where needed 
    var btn = getRepViewBtn(); 
    btn.style.display = 'none'; 
} 
3

不,您无法在ReportViewer控件中重新定位查看报表按钮。

但是,您可以创建自己的自定义报表查看控件。该控件将由报告参数的字段和用于生成报告的按钮组成。当用户点击按钮时,您可以在后台生成报告。您可以将报告显示为PDF,HTML等。

+0

@Cowthulhu请注意我是如何在ReportViewer控件中说的。我仍然认为这是一个有效的答案,因为隐藏按钮的功能不是内置的。唯一的方法是使用JavaScript在上面接受的答案中所述的JavaScript页面上的控件之外操作按钮。 – 2017-10-24 02:25:26

1

按钮推到右侧的原因是,这些参数的TD具有宽度=“100% ”。我正在用下面的jquery解决这个问题。它只是将参数td的宽度更改为1.浏览器将自己的宽度扩展到元素内容的宽度。希望这可以帮助。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#<%= ReportViewer1.ClientID %> td:first").attr("width", "1"); 
    }); 
</script> 
1

因为我昨天正在寻找这个答案,我想我会张贴我想出来解决我们的问题。我们的报告回来了,我们希望“查看报告”按钮存在于控件的左侧,因此不需要滚动到按钮。我确实需要进入渲染文件的源代码来查找按钮和目标表的ID名称。

我写了一个简单的剪切和粘贴JavaScript函数,将按钮从原始位置拉下来,然后将它放到包含日期选取器下方表格中的下一行中。

function moveButton() { 
    document.getElementById('ParameterTable_ctl00_MainContent_MyReports_ctl04').appendChild(document.getElementById('ctl00_MainContent_MyReports_ctl04_ctl00')); 
     } 

该函数在报表查看器载入事件中被调用。

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "moveButton", "moveButton();", True) 

要调整位置,我使用了CSS ID。

#ctl00_MainContent_MyReports_ctl04_ctl00 { 
    margin: 0px 0px 0px 50px; 
}