2008-08-21 47 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; 
} 
相關問題