私のページには、reportviewerがあります。
<rsweb:ReportViewer ID="ReportViewer1" runat="server"
CssClass="ReportViewer" AsyncRendering="false"
OnPreRender="RptViewer_PreRender" EnableViewState="true"
Width="100%" PageCountMode="Actual"
WaitMessageFont-Size="1.2em" ShowToolBar="true"
Visible="true"
InteractiveDeviceInfos="(Collection)">
<LocalReport></LocalReport>
</rsweb:ReportViewer>
reportviewerツールバーによって提供される機能も備えたツールバーと統合しようとしています。だから私はレポートビューアのツールバーを使用していません。
私のツールバーには、画像とテキストボックスがあります:
<img src="img/search.png" alt="Find" onClick="findString()" />
<asp:TextBox id="txtSearch" runat="server"></asp:TextBox>
これが私のスクリプトです:
function findString() {
var viewer = $("#ReportViewer1");
var searchText = document.getElementByID('<%=txtSearch.ClientID>');
if (!viewer.get_isLoading() && viewer.get_reportAreaContentType() == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
viewer.find(str);
}
return false;
}
function nextHit() {
var viewer = $("#ReportViewer1");
if (!viewer.get_isLoading() && viewer.get_reportAreaContentType() == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
viewer.findNext();
}
return false;
}
functionfindString
では、(firebug で見た)isLoading
はプロパティであり、関数ではありません。何か不足していますか?
関数を次のように変更した場合:
function findString() {
var viewer = $("#ReportViewer1");
var searchText = document.getElementByID('<%=txtSearch.ClientID>');
viewer.find(str);
return false;
}
そのエラーは表示されませんが、レポートで強調表示された検索テキストが表示されません。ヘルプ。