Partager via


Propriété Microsoft.Reporting.WebFormsClient.ReportViewer.isLoading

Obtient une valeur Boolean qui indique si la page Web effectue une publication ou si le contrôle côté client charge du contenu.

Notes

Pour obtenir ou définir des valeurs de propriété pour les propriétés de l'API client, vous devez appeler les méthodes d'accesseur de propriété qui sont nommées avec les préfixes get_ et set_.

Syntaxe

var loading = $find(viewerId).get_isLoading();

Valeur de retour

true si la page Web effectue une publication ou si le contrôle côté client charge du contenu ; sinon, false.

Notes

Lorsque le contrôle côté client charge du contenu, il peut procéder à une publication, par exemple l'actualisation d'un rapport avec de nouvelles données, ou charger son contenu dans le navigateur après une publication. Cette propriété ne provoque pas d'exception lorsque la page Web ou le contrôle côté client effectue une publication. Utilisez cette propriété pour vérifier si le rapport ou la page est en cours de mise à jour et si vous pouvez accéder aux méthodes et propriétés.

Si vous implémentez une barre d'outils personnalisée, vous pouvez utiliser cette propriété pour alterner entre les états activé et désactivé des éléments de la barre d'outils. Par exemple, vous pouvez ajouter une référence de script au code JavaScript suivant dans votre contrôle ScriptManager pour alterner entre l'état activé et désactivé d'un bouton externe.

Notes

Le contrôle ScriptManager garantit que le script référencé est exécuté avant le chargement du contrôle côté client. Cela permet au gestionnaire d'événements de gérer toutes les modifications apportées à la propriété isLoading.

Sys.Application.add_load(function () {
    $find("ReportViewer1").add_propertyChanged(viewerPropertyChanged);
});

function viewerPropertyChanged(sender, e) {
    if (e.get_propertyName() === "isLoading") {
        var viewer = $find("ReportViewer1");
        var button = document.getElementById("Button1");
        button.disabled = viewer.get_isLoading();
    }
}

Dans le cas où le contrôle côté client effectue une publication de longue durée, vous pouvez utiliser la méthode Sys.WebForms.PageRequestManager.abortPostBack pour annuler la publication. Par exemple :

function cancelPostBack() {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prmn.get_isInAsyncPostBack()) {
        prm.abortPostBack();
    }
}

Voir aussi

Référence

Classe Microsoft.Reporting.WebFormsClient.ReportViewer

Autres ressources

Ajax Client Life-Cycle Events

Sys.Application.load Event

Sys.WebForms.PageRequestManager Class