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 :

[asp.NET 2.0]Contrôle modifiable sur un GridView


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut [asp.NET 2.0]Contrôle modifiable sur un GridView
    Bonjour à tous,
    j'utilise des bases de données que j'affiche dans un contrôle GridView avec ASP.NET 2.0.
    J'aimerai effectuer une requete sur la valeur d'une colonne du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <asp:AccessDataSource ID="AccessDataSource1" ...
    SelectCommand="SELECT [ID_steel], [Name], [C_min], [C_max] WHERE ([C_min] = @para1)"
        <SelectParameters>
                    <asp:ControlParameter ControlID="TextBox_para1" DefaultValue="0" Name="para1" PropertyName="Text"
                        Type="Single" />
        </SelectParameters>
    </asp:AccessDataSource>
    Je cherche un nombre précis sur la colonne [C_min]

    Ici j'utilise une TextBox comme paramètre (ici para1) or j'aimerai pouvoir changer le signe de mon égalité en une inégalité comme >= ou <= en choisisant le signe depuis une simple DropDownList. Mais je ne peux pas rajouter une commande du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% = DropDownList_signe.SelectedValue %>
    car je suis en plein milieu d'un contrôle <asp:AccessDataSource>... </asp:AccessDataSource>.
    J'aimerai aussi créer une DropDownList avec les noms de plusieurs colonnes et en les choisissant cela change la colonne sur laquelle mon parametre para1 agit (passer de [C_min] à [C_max]). Mais en résolvant le problème de l'inégalité on peut surement s'arranger pour les colonnes de la même manière.
    Merci beaucoup par avance

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Tentative de réponse
    Alors j'ai trouvé une piste. Je crois que lors de la commande Select de mon "AccessDataSource" le server charge ma base de données avec une certaine instruction. Or si on change l'instruction (avec des listes déroulantes et compagnie) le navigateur ne peut rien faire, c'est au serveur de réagir.

    L'aide me propose de créer un ObjectDataSource qui peut peut-être prendre en compte ce genre de "requêtes dynamiques". Or c'est assez mal fichu, il faut créer un fichier "métier" avec des lignes de code à mettre dans le dossier App_Data ou Bin et qu'il faut peut être compiler auparavant... pas très clair.

    Est ce quelqu'un peut m'éclairer sur cette méthode s'il vous plaît?
    Désolé de poster par dessus mes propres posts, si ma question est floue, complétement à côté de la plaque ou tout simplement dans la mauvaise section du forum s'il vous plaît dites le moi.
    Encore merci.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut
    il suffit de changer la requete de la select command a chaque changement dans la liste box et de rebinder aprés

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    il suffit de changer la requete de la select command a chaque changement dans la liste box et de rebinder aprés
    A mon avis c'est une bonne piste mais ce n'est pas suffisant. En effet si tu écris par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SqlDataSource1.SelectCommand = "Nouvelle requete SELECT MACHIN TRUC"
    SqlDataSource1.DataBind()
    GridView1.DataBind()
    Il va effectivement te changer la vue de ton gridview, et t'afficher la vue correctement. Mais les boutons editer et supprimer ne vont plus fonctionner correctement :

    Si tu appuies sur le bouton "Editer" du gridview, il va revenir à la vue initiale du gridview, du coup tu pensais editer une ligne et tu te retrouves avec une autre ligne a editer.

    En effet quand on appuie sur le bouton "éditer", le gridview se recharge ( postback ) et revient a son état initial.

    Maintenant ca ne gene peut etre pas pulsar s'il n'utilise pas ces boutons donc la solution est peut etre valide, mais moi ca me gene

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Par défaut Merci beaucoup
    Effectivement cette méthode est beaucoup plus simple que celle que j'imaginais. C'est juste que je ne comprennais pas bien à quoi servait les fonctions databind.

    Bien joué d'avoir pensé aux boutons "éditer", je les utilise mais pas sur les mêmes pages (une page de modification de données, une page de recherche sur les données) donc pas de problèmes pour moi.

    Par contre j'ai un problème si je veux enlever une colonne car en modifiant la requete mon gridview crie au secours en disant qu'il ne trouve pas la colonne spécifiée. Mais je pense qu'il faut changer de méthode en travaillant directement sur le gridview. Si vous avez une solution pour ça.

    Encore merci beaucoup. J'ai quand même mis ce mesages en réolu car cette deuxième question n'est pas vraiment la même.

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

Discussions similaires

  1. [ASP.NET 2.0][C#] conseil sur les GridView
    Par toinou62 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/12/2007, 14h02
  2. [ASP.NET 2.0][C#] Tri sur un GridView avec actions
    Par Wishmaster dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/09/2007, 14h44
  3. [asp.net 2 - c# 2] Modifier un mot
    Par alexandre_69 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 24/05/2007, 19h47
  4. [ASP.NET 1.1] File.Copy sur lecteur mappé
    Par Tub-95 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/05/2007, 11h11
  5. Réponses: 2
    Dernier message: 13/12/2006, 18h57

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