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 :

Création de datagrid particulier


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut Création de datagrid particulier
    Bonjour,

    Je travaille actuellement sur un projet en ASP .NET. Dans ma base de données, j’ai 3 tables : une qui gere les statuts d’utilisateurs (idA et nomA), une qui gere les droits d’accés (idB et nomB) et une autre qui fait le lien entre les statuts et les droits (idA, idB) (car un statut peut correspondre a plusieurs droits).

    Comment puis je faire pour afficher, en fonction d'un statut particulier, dans un contrôle du type datagrid (ou autre) la liste de tous les droits (leur nom), avec en face, une checkbox qui est cochée si le statut en question possède ou non le droit de la ligne correspondante.

    Pouvez vous m’éclairer ?

    Merci !

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu peux faire une requête SQL qui te sorte le bon DataSet
    Après t'auras juste à DataBinder

  3. #3
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    Oui effectivement, c'est ce que je pensais faire au début... Cependant, avec ma requete, je ne charge que les accés (nom et id) auquel le statut a droit, mais pas les autres... J'aimerais que dans mon Datagrid, je puisse consulter tous les droits d'accés stockés dans la table des droits (leur nom) avec en faire une checkbox qui est cochée si le statut chargé possede ce droit...

    Alors aprés, j'suis pas une brute en SQL donc peut etre qu’on peut faire une requete de ce genre mais je vois pas comment...

    Des idées??

    J'aurais bien changé la base de données parce que bon il faut l'avouer, conceptuellement, on a vu mieux mais j'peux pas...

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Je pense qu'un LEFT OUTER JOIN fera l'affaire

  5. #5
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    Bon, jusque la tout va bien.... (pour la requete qui me renvoie bien ce que je veux (promis j'arrete les WHERE-CLAUSE )

    Maintenant, comment je fais pour, dans mon datagrid, afficher des checkbox cochées si le statut a le droit correspondant, et non cochées si le statut n'a pas le droit... ?

    Le droit est sauvegardé en valeur BINARY(1) : mon probleme c'est comment lier ma valeur BINARY à ma CheckBox dans le datagrid

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Y a quoi dans ton DataSet? Un boolean??

  7. #7
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    C'est un BINARY(1)

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Ok
    Maintenant, sur le OnRowDataBound de ton gridview, il suffit de checker ou non ta checkbox suivant la valeur de ce champ

  9. #9
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    Pourquoi dans mon GridView (car j'ai fait un gridView, je pense pas que ca change grand chose pour mon probleme), je ne peux lier mon champ BINARY(1) qu'à un type BoundField et pas à un CheckBoxField?

  10. #10
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu peux pas lier directement mais tu faire en sorte que si champ = 1 alors checkbox checké sinon non

  11. #11
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    Mais une fois que je suis dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GV1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV1.RowDataBound
    et que j'accede a ma e.Row, comment je fais pour savoir si mon champ est a 0 ou 1? puisque j'ai juste accés a e.Row.Cells(1) ??

  12. #12
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Fais une recherche sur
    RowDataBound, tu trouveras tout ce qu'il te faut

  13. #13
    Membre confirmé Avatar de Nikamura
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Par défaut
    Bon ben j'ai récupéré le résultat de la requete dans le e.Row.DataItem que j'ai casté en DataRowView, que j'ai casté en DataRow pour finalement trouver la valeur qui va bien dans mon DataRow.Item(1) ...

    Ce fut laborieux, mais c'est le résultat qui compte

    Merci beaucoup !

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

Discussions similaires

  1. [Vxi3] Création objet personnel particulier
    Par mafanta dans le forum Deski
    Réponses: 2
    Dernier message: 18/01/2012, 10h02
  2. Création de DOTPLOTS particuliers
    Par joyeux_lapin13 dans le forum Macro
    Réponses: 17
    Dernier message: 10/10/2011, 14h38
  3. Création PDF DataGrid
    Par npirard dans le forum Flex
    Réponses: 4
    Dernier message: 25/01/2010, 17h13
  4. Création client particulier ou entreprise
    Par goutbouyo dans le forum Access
    Réponses: 5
    Dernier message: 15/03/2007, 14h13

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