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 :

Fusion lignes GridView


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Fusion lignes GridView
    Bonjour,

    J'alimente un GridView avec un SQLDataSource.

    Mon gridView affiche les données sous forme de colonnes et je me demande s'il est possible de fusionner des ligne pour les placer à ma guise.

    Par exemple: dans le cas d'un forum j'affiche le nombre de message, le pseudo et le statut. Au lieu que ces 3 données soit affichées de gauche à droite (par colonnes), j'aimerai par exemple affiché ces 3 données les une au dessus des autres...

    Merci

  2. #2
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    via ton rowdatabound tu devrais pouvoir récupérer les contenus des cellules pour en faire ce que tu veux...

    mais peut-être vaut il mieux traiter ça à la source?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut
    Salut,

    Effectivement comme cortex024 a dit tu pourrais coder ça dans le code behind pour modifier la table. J'ai déjà eu fait ça pour une table mais c'était juste pour fusionner une cellule.

    Autrement pour ton exemple je mettrais 3 labels avec lesquels je récupérerais les données.

    Va voir là pour te donnée une idée :

    http://www.developpez.net/forums/d81...ules-gridview/

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    C'est-à-dire faire ça en code?

    Car je fais tout en design, c'est-à-dire que je colle un SQLDataSource, je paramètre ma requete et associe ce dernier à un control (grid view ici).

    Donc je vois pas trop^^

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Fusionner des colonnes ok mais des lignes... Si il s'agit de colonnes tu peux faire cette "fusion" directement dans la requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ1 + ' ' + champ2 from matable
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Désolé si ça parait bête mais, Immobilis je n'ai pas trop compris ce que tu veux dire.

  7. #7
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Ben fais une requete sql qui concatène les données dont tu as besoin.
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Oui ok mais après comment exploiter cela.

    Voilà ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT idRub, idSujet, idMsg, libMsg, dateMsg,  username FROM [msg]

    ps: autre petite question au passage: dans un insert je ne peux pas insérer par exemple :

    j'ai joué
    Il me met une erreur à cause de la quote. Il faudrait faire comme en php avec str_to_replace un truc du genre?

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Oui ok mais après comment exploiter cela.
    De la même façon que le reste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT username +' '+nbMessages+' '+ status AS MonChampFusionne, idRub, idSujet, idMsg, libMsg, dateMsg,  username FROM [msg]"
    Le mieux c'est d'utiliser des procédures stockée. Sinon, il faut doubler les quotes avec la fonction Replace.
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Ok merci, je vais tester ça.

    Et il existe pas une petite procédure stockée de base pour ces quotes lors de requêtes insert?

  11. #11
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Les procédures stockées de SQL ne sont pas sensibles aux apostrophes.
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Ce qui me permettrai donc d'insérer mon apostrophe dans ma base?

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Tu peux t'inspirer de cette partie de la faq: http://dotnet.developpez.com/faq/asp...e#adonet_quote
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Hum ok, cependant, dans ce code je ne vois pas ou il transforme les quotes.

    Ca ne doit surement pas marcher comme en php, pour ça que je ne comprends pas trop.

  15. #15
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Effectivement dans le code y'a pas les quotes toutefois inspire toi de ce code et ça passe sans soucis
    "Winter is coming" (ma nouvelle page d'accueil)

  16. #16
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Immobilis,

    pour en revenir à la fusion de lignes du gridView,
    De la même façon que le reste
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT username +' '+nbMessages+' '+ status AS MonChampFusionne, idRub, idSujet, idMsg, libMsg, dateMsg,  username FROM [msg]"
    Je ne comprends pas trop l'intérêt de la requête en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT dateMsg +' '+ userid +' '+ status AS MonChampFusionne, idRub, idSujet, idMsg, libMsg, username, CreateDate, NombreMsg FROM [msg]
    Il n'accepte pas ça,pourtant j'ai fais comme ton modèle^^

    Merci

  17. #17
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    pourtant je ne vois rien d'incorrect, à condition que tes champs dans ton SELECT appartiennent bien tous à ta table.

    c'est quoi ton message d'erreur?

  18. #18
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    J'ai plusieurs type d'erreurs, mais qui semblent simples. Du genre, type de données text incompatible en int.

    Ou sinon :

    Les types de données varchar et text sont incompatibles dans l'opérateur add.

  19. #19
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Je viens de tester avec des champs de même type(entier) et la requête fonctionne. Je ne peux donc pas sélectionner une date et une chaîne alors?

    Sinon, pour la requête qui marche avec les 3 entiers, je ne vois pas comment les manipuler ensuite un par un... Si je met un bounfield sur MonChampsFusionné, je ne comprends pas trop ce qui est retourné.

  20. #20
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    si tu dois faire des manipulations séparément sur tes champs, il faut peut-être que tu les sélectionnes séparément également, quitte à faire un quatrième concaténé.

    Niveau type de données qui posent problème pour la fusion, tu t'es penché sur des convert?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Redimensionnement Lignes GridView
    Par Konami15 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 23/05/2010, 11h10
  2. fusion lignes avec le même identifiant
    Par popoline dans le forum SAS Base
    Réponses: 3
    Dernier message: 27/05/2009, 17h14
  3. Dernière ligne gridview
    Par hugo7 dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/01/2009, 19h53
  4. mettre en couleur une ligne gridview
    Par hermine dans le forum ASP.NET
    Réponses: 20
    Dernier message: 21/08/2007, 11h39
  5. [2.0]Changer couleur ligne gridview en javascript
    Par tscoops dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2007, 16h10

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