IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Rafraichissement d'un GridView après modification de son DataSource


Sujet :

ASP.NET

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Concepteur d'applications
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur d'applications
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Par défaut Rafraichissement d'un GridView après modification de son DataSource
    Bonjour,

    Je développe une application de suivi de stock. en ASP.NET (C#)
    Au premier affichage, j'affiche tout le stock dans un GridView paginé.
    La page présente des DropDownList pour présenter les critères de filtrage à la disposition de l'utilisateur.
    J'ai mis un Button "Actualiser" qui permet de réafficher la GridView selon les critères sélectionnés par l'utilisateur.

    Mon problème est le suivant : Aucune grille n'apparet à l'écran après avoir clicqué sue "Actualiser".

    Voici le code behind de la modification du datasource :
    commerce : est le DataSource
    GridViewPoisson : est le GridView à actualiser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    protected void ButtonActualiser_Click(object sender, EventArgs e)
    {
    	if (selectParams != 0)
    	{
    		for (int i = 0; i < selectParams; i++)
    			commerce.SelectParameters.RemoveAt(0);
    	}
    	commerce.SelectParameters.Add("@eau", poissonEauCritere);
    	commerce.SelectParameters.Add("@origine", poissonOrigineCritere);
    	commerce.SelectParameters.Add("@famille", poissonFamilleCritere);
    	commerce.SelectParameters.Add("@acclim", poissonAcclimCritere);
    	selectParams = commerce.SelectParameters.Count;
    	commerce.SelectCommandType = SqlDataSourceCommandType.Text;
    	commerce.SelectCommand = String.Format(@"poisson_get_by_filter");
    	commerce.DataBind();
    	GridViewPoisson.DataSourceID = "commerce";
    	GridViewPoisson.DataBind();
     
    }

  2. #2
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Essaye d'expliquer plus ton code (if, for et quelques methodes ...) , je ne comprend pas l'utilité de certaines choses dans ton code !

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 59
    Par défaut
    Si tu veux filtrer avec des drop lists, il vaut mieux qu'elles fassent des postback (AutoPostBack="True") et que tu fasses des paramètres de type ControlParameter qui sont justement fait pour ça, en utilisant la propriété SelectedValue des drop lists.
    Du coup avec l'avec le post back plus besoins de bouton Actualiser, la grid ce met à jour toute seule à chaque changement sur la drop list. Ou si tu veux un bouton actualiser, tu retire le AutoPostBack de la drop list, et tu laisse ton bouton actualiser, il feras le post back tout seul.

    Si tu as de bonne raison de garder ce code je vois ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commerce.SelectCommand = String.Format(@"poisson_get_by_filter");
    C'est pas le @ qui est tout simplement à l'extérieur des double quotes ?
    Et c'est quoi ce poisson_get_by_filter ?

    Aussi ton if ne sert à rien, si selectParams est à zéro, le for ne boucleras tout simplement pas.

    De plus tu peux vider ta liste avec de paramètres avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commerce.SelectParameters.Clear();
    Edit:Non en fait tu dois vider toutes liste comme ça

  4. #4
    Membre confirmé Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Exacte !

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 59
    Par défaut
    En fait plus je le regardes et moins je le comprends ce code, si tu veux actualiser tes paramètres pas besoins de les supprimer et de les récréer, tu met littéralement les objets paramètre à jour.
    De plus tu n'a pas besoins d'écraser la commande SQL en elle même, ça enlève tout l'intérêt des paramètres.
    Dans le même genre pas besoins de redire à la grid view que ça source c'est commerce elle le sait déjà

Discussions similaires

  1. Rafraichissement d'un DataGrid après modification d'un élément d'une liste
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 31/03/2015, 17h05
  2. [WD16] Mon champ est vide après modification de son état
    Par Tober dans le forum WinDev
    Réponses: 4
    Dernier message: 24/11/2011, 10h23
  3. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  4. [JComboBox]Rafraichissement apres modification modèle
    Par bidon dans le forum Composants
    Réponses: 7
    Dernier message: 14/03/2005, 13h20
  5. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo