ラドグリッドを使用しています。エクスポート ボタンをクリックすると、Rad Ajax Loading Panel が表示されますが、エクスポート プロセスが完了しても閉じません。
この問題について何か考えはありますか?
ラドグリッドを使用しています。エクスポート ボタンをクリックすると、Rad Ajax Loading Panel が表示されますが、エクスポート プロセスが完了しても閉じません。
この問題について何か考えはありますか?
こんにちは、解決策を見つけました:) AjaxPanelとAjaxLoadingPanelの間の接続を削除しました。その後、AjaxLoadingPanel を明示的にトリガーしました。ここに私が使っていたコードがあります。
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnList">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1"/>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
<ClientEvents OnRequestStart="ResponseEnd" />
</telerik:RadAjaxManager>
そしてジャバスクリプト
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
var currentLoadingPanel = null;
var currentUpdatedControl = null;
function ResponseEnd(sender, args) {
//hide the loading panel and clean up the global variables
if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToPdfButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
args.set_enableAjax(false);
}
currentLoadingPanel = $find("<%= RadAjaxLoadingPanel1.ClientID %>");
if (args.get_eventTarget() == "<%= btnList.UniqueID %>") {
currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
}
else {
currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
}
if (currentLoadingPanel != null)
currentLoadingPanel.hide(currentUpdatedControl);
currentUpdatedControl = null;
currentLoadingPanel = null;
}
</script>