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 VB.NET]Petite question au sujet du datagrid


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut [ASP.NET VB.NET]Petite question au sujet du datagrid
    Bonjour!

    Je voudrais vous poser une petite question : est-il possible de lier chaques colonnes d'un datagrid à des sources de données?

    Si oui, est-il possible de me montrer (par un bout de code ou autre) comment est-ce possible?

    Je pose cette question car j'ai trois colonnes dans un datagrid et j'aimerais afficher des données provenant de tables différentes. D'où la nécessité de lier chaque colonne à une source de données différentes.

    Je vous remercie d'avance pour les réponses!

  2. #2
    Membre actif Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Points : 268
    Points
    268
    Par défaut
    salut,

    je crois que vous avez une seule solution, c'est que la requete qui charge Datagrid soit combiner de tout les champs et tu met cette requete dans un dataset puis tu l'affiche dans ta Datagrid.

    Bonne Chance

  3. #3
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    Merci pour la réponse

    C'est ce que j'ai fait, le problème est qu'avec une seule requête, ça ne me renvoit pas tout ce que je veux, car il y a des champs qui sont null, et d'autres raisons encore. Mon problème serait résolu si seulement je pouvais faire trois requêtes et les lier à trois colonnes différentes.

    Une idée?

    PS: j'ai essayé en divisant ma requête en trois et en faisant un GO entre chaques, mais il ne prend en compte que la première et lance une exception SQL lorsqu'il rencontre le deuxième et le troisième GO

  4. #4
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    Personne n'a d'idée de solution ?

  5. #5
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    ...

  6. #6
    Membre averti Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Points : 363
    Points
    363
    Par défaut
    indiques tjrs ta requete?

  7. #7
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    Ok, la grosse requête en un seul bloc est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT LibelleClasse AS [Nom de la classe], MEMBRES.Nom AS [Professeur Responsable],  (SELECT COUNT(*)  FROM MEMBRES WHERE Accred = 1) AS [nombre d'élèves] FROM [CLASSE] INNER JOIN [MEMBRES] ON MEMBRES.IdClasse = CLASSE.IdClasse WHERE Accred = 3
    Les membres d'accred 1 sont les élèves et ceux d'accred 3 sont les professeurs.
    Il me faudrai toutes les classes, même celles sans professeur responsable. Or cette requête ne me renvoit que les classes ayant un professeur responsable, et, (mais faute de test je ne suis pas sûr à 100%) des élèves.

    J'ai essayé en la divisant en 3 parties (une par champs) avec des GO, mais bon... Ca n'a pas marché.

    En tout cas merci de me proposer ton aide!

  8. #8
    Membre averti Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Points : 363
    Points
    363
    Par défaut
    je verrais alors plus une requete avec left outer join . Ca te donnerais le moyen d'avoir soit les profs responsables d'aucunes classe ou les classes sans responsable.


    SELECT LibelleClasse AS [Nom de la classe],MEMBRES.nom
    FROM CLASSE Left outer join MEMBRES on MEMBRES.IdClasse = CLASSE.IdClasse
    WHERE MEMBRES.accred=3

    ici tu vas récupérer les enseignants responsables par classe.

    Tu récupères les classes et les profs dans un tableau.

    Ensuite tu effectues autant de requetes que de classes afin d'obtenir le nombre d'élèves par classe et tu affiches le tout dans un datagrid.

  9. #9
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    Merci de ta réponse!

    J'avais pensé au LEFT OUTER JOIN. J'avais testé aussi, mais sous l'analyseur de requête de SQL Server, ça donnait le même résultat... J'avais essayé aussi le RIGHT OUTER JOIN et aussi le CROSS JOIN, mais bien sûr le CROSS JOIN ne renvoit absolument pas ce qu'il faut, comme je m'en étais douté. (quand on est désespéré on fait n'importe quoi! )

    Désolé de t'embêter comme cela (débutant en Datagrid ), mais j'ai plusieurs questions qui me viennent à l'esprit du coup...
    Quel est le type du tableau dans lequel mettre les résultats de cette requête?
    Comment lier ce tableau avec le datagrid?

  10. #10
    Membre averti Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Points : 363
    Points
    363
    Par défaut
    Tu m'embetes pas mais rassures toi, je suis une bille en aspnet. J'ai commencé y a pas longtemps et suis dégouté.

    Je suis en train de reinstaller tout mon framework et visual studio du coup j'ai aucune commande sous les yeux. On va se la faire en théorie du coup ; )

    Je crois que tu as plusieurs solutions:
    - le datatable (ce sera peut - être plus facile de lier ton datagrid du coup et plus pratique pour des opérations de tri)
    - le tableau array t(classe,Nomprof,nbélèves)

    Apres pour les lier soit tu parcours et tu ajoutes au datagrid soit tu vas sur le site de plasserre section base de données. C'est assez bien expliqué.

    Plus je pratique ce langage, plus je le trouve complexe. M'en vais retourner au php

  11. #11
    Membre régulier Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 99
    Points
    99
    Par défaut
    Merci beaucoup pour ton aide!

    C'est vrai que le PHP est plus simple, seulement parfois pour faire les mêmes choses en PHP il faudra + de code qu'en VB.NET, et inversement.
    Par exemple les postback, c'est un peu une surcouche d'AJAX non? En tout cas ça peut être considéré comme tel.

    En tout cas merci beaucoup, grâce à toi j'ai vraiment pu avancer!

  12. #12
    Membre averti Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Points : 363
    Points
    363
    Par défaut
    pas de pb

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/01/2010, 13h44
  2. Quel langage entre vb.net c#.net c++.net java ?
    Par heeedi dans le forum Débuter
    Réponses: 7
    Dernier message: 13/12/2008, 22h53
  3. Réponses: 5
    Dernier message: 17/02/2008, 21h26
  4. [XSD] petite question au sujet d'un schéma
    Par sylsau dans le forum Valider
    Réponses: 2
    Dernier message: 12/10/2006, 22h00
  5. Petite question au sujet du code Hamming
    Par sylsau dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 28/02/2006, 13h30

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