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 :

[C#] Filtrer une table


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut [C#] Filtrer une table
    Slt. Je commence les Webforms et je ne parviens pas à filtrer simplement à partir d'une dropdownlist...

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    	private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Placer ici le code utilisateur pour initialiser la page
     
    			Remplir_Combo();
    			this.DataGrid1.DataBind();
    			this.TextBox1.DataBind();
    			this.TextBox2.DataBind();
    			this.TextBox3.DataBind();
    			this.TextBox4.DataBind();
    		}
     
     
     
    		//--------------------------------------------------------//
    		//------Remplit le combo avec le contenu de la table-----//
    		//------------------------------------------------------//
    		void Remplir_Combo()
    		{
    			this.DropDownList1.Items.Clear(); //---On efface tout ce qu'elle contient---//
    			this.daLiens.Fill(this.ds,"tb_LIENS");
    			this.DropDownList1.Items.Add("");
    			for(int j=0;j<this.ds.tb_LIENS.Count;j++)this.DropDownList1.Items.Add(this.ds.tb_LIENS[j]["IDLien"].ToString());
    			this.DropDownList1.DataBind();
    		}
     
    		//------------------------------------------------------//
    		//------------Effectue le filtre sur le datagrid-------//
    		//----------------------------------------------------//
    		private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
    		{
    			string IDLIEN="";
     
    			if(this.DropDownList1.Items[this.DropDownList1.SelectedIndex].ToString()=="")IDLIEN="IDLIEN";
    			else IDLIEN=this.DropDownList1.Items[this.DropDownList1.SelectedIndex].ToString();
     
    			this.sqlSelectCommand1.CommandText="SELECT * FROM tb_LIENS WHERE IDLIEN="+IDLIEN;
     
    			this.Connection.Open();
    			this.daLiens.Fill(this.ds.tb_LIENS);
    			this.Connection.Close();
    			this.DataGrid1.DataBind();
    		}
     
    	}
    Il me rafraichit seulement ma page mais ne fait rien du tout...

    J'ai peut etre des erreurs de raisonnement... je me base sur mes connaissances en WinForms...

    Merci

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    le DataBind executera une liaison sur ce que tu as mis dans les propriété DataSource et DataMember tu n'a pas oublié de les initialiser

  3. #3
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    En design sur le datagrid j'ai spécifié ces 2 arguments...
    C'est suffisant non ?

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Après ton filtre, je serais curieux de savoir si ton DataAdapter contiens bien la sqlCommand dont tu viens de changer le commandText, à mon avis il contient toujours l'ancien commandtext
    De plus je croyais qu'un dataadapter se chargeait lui même de l'ouverture et fermeture de connection, tu ferais bien je crois de catcher pour t'assurer des close() dans un finally même si exception quelconque.

  5. #5
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    la sqlComman est celle utilisée par mon datadapter pour sa commande select...
    A priori il n'en a pas besoin des open et des closes mais bon, j'ai essayé un peu de tout, si je try catch il ne se passe rien...
    Ce que j'ai, c'est au démarrage mon datagrid bien remplit, et une dropdrownlist bien remplie avec ce que je veux... si je filtre, sur l'evenement indexchanged (j'ai spécifié le autopostback...) il ne me rafraîchit la page sans aucun filtre... donc je tourne en rond

  6. #6
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    : Personne ne peut m'aider ? C'est un truc de base quoi

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    regarde si dans l'InitializeComponent tu as bien initialisé ton délegate qui doit pointer sur cette fonction DropDownList1_SelectedIndexChanged.
    as tu en gros this.DropDownList1.SelectedIndexChanged+= new mondelegate(this.DropDownList1_SelectedIndexChanged)
    j'ai mis mon delegate je ne sais pas lequel c'est.

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par diaboloche
    la sqlComman est celle utilisée par mon datadapter pour sa commande select...:
    mais celà ne réponds pas à ma question

    je serais curieux de savoir si ton DataAdapter contiens bien la sqlCommand dont tu viens de changer le commandText, à mon avis il contient toujours l'ancien commandtext

  9. #9
    Membre actif Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Points : 274
    Points
    274
    Par défaut
    Si... Enfin je pense, je redéfinit le contenu de la Command utilisée par ce datadapter...

    Mais j'ai trouvé la solution il y a 30 sec... je devais rajouter if(!this.Page.IsPostBack) dans le load... sinon il tournait en rond

    Merci.
    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtrer une table en comparant deux champs entre eux
    Par damene dans le forum Débuter
    Réponses: 13
    Dernier message: 12/04/2008, 19h10
  2. filtrer une table excel avant de remplir un combobox
    Par alexsolex dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/10/2007, 19h56
  3. filtrer une table par programmation
    Par programeur dans le forum Delphi
    Réponses: 2
    Dernier message: 11/01/2007, 12h38
  4. Réponses: 5
    Dernier message: 06/06/2006, 14h12
  5. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25

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