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

VB.NET Discussion :

Modifier l'apparence d'un résultat de requête (la view)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut Modifier l'apparence d'un résultat de requête (la view)
    Bonjour,

    Actuellement je lance une requête via un SqlGateAdapter de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim SqlGateAdapter As DbDataAdapter = Base.GetDataAdapter(Requete)
                Dim resultsDataTable As DataTable = New DataTable
                SqlGateAdapter.Fill(resultsDataTable)
                DataGridResultat.ItemsSource = resultsDataTable.DefaultView
    Or c'est vrai que omn DefaultView m'affiche des case à cocher pour un résultat de booléan (ce qui n'est vraiment pas top), ou j'aimerais modifier les résultat null pour les passer de ne rien afficher à afficher "NULL".
    Or je me balade à droite et à gauche, et je n'arrive pas à comprendre qu'est ce qui peut me servir pour faire de tel modification.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il faut définir manuellement le template de la colonne ; tu mets un DataTrigger qui affiche "null" à la place de la CheckBox quand la valeur est nulle

    Code XAML : 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
    <DataGridTemplateColumn Header="Blabla">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Grid>
                    <CheckBox Name="checkBox" IsChecked="{Binding Blabla}" />
                    <TextBlock Name="nullText" Text="NULL" Visibility="Collapsed" />
                </Grid>
                <DataTemplate.Triggers>
                    <DataTrigger Binding="{Binding Blabla}" Value="{x:Null}">
                        <Setter TargetName="checkBox" Property="Visibility" Value="Collapsed" />
                        <Setter TargetName="nullText" Property="Visibility" Value="Visible" />
                    </DataTrigger>
                </DataTemplate.Triggers>
            </DateTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut
    Oui, je vois bien ce que tu veux dire , mais si je définit manuellement la colonne, je ne peut plus me servir d'itemsSource. Et sachant que la requête que je passe n'est pas fixe, je peut avoir la colone X en booléan pour une requête, en entier pour une autre, bref sa peut vraiment bouger.

    A moins qu'il y ait un moyen de méler ça à la construction automatique de mes colonnes, ou me retaper la construction des colonne façon personnel(mais bon je vois pas à quoi sa servirais de réinventer un truc qui existe déja).

    PS : Pour ceux qui veulent réutiliser ton code, quelques erreur se sont fofilées, il y a quelque "DateTemplate" au lieu de "DataTemplate"

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par boubou38 Voir le message
    Oui, je vois bien ce que tu veux dire , mais si je définit manuellement la colonne, je ne peut plus me servir d'itemsSource.
    Bien sûr que si ! Je ne vois pas le rapport...

    Citation Envoyé par boubou38 Voir le message
    Et sachant que la requête que je passe n'est pas fixe, je peut avoir la colone X en booléan pour une requête, en entier pour une autre, bref sa peut vraiment bouger.
    Ah... ça c'est un autre problème. Ce que tu ne peux pas utiliser, c'est AutoGenerateColumns, pas ItemsSource...

    Citation Envoyé par boubou38 Voir le message
    A moins qu'il y ait un moyen de méler ça à la construction automatique de mes colonnes, ou me retaper la construction des colonne façon personnel(mais bon je vois pas à quoi sa servirais de réinventer un truc qui existe déja).
    En fait tu pourrais peut-être redéfinir le style de DataGridCheckBoxColumn pour changer le template de façon à ce qu'il fasse ce que tu veux...

    Citation Envoyé par boubou38 Voir le message
    PS : Pour ceux qui veulent réutiliser ton code, quelques erreur se sont fofilées, il y a quelque "DateTemplate" au lieu de "DataTemplate"
    Ah oui, faute de frappe... je vais corriger

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut
    Ah... ça c'est un autre problème. Ce que tu ne peux pas utiliser, c'est AutoGenerateColumns, pas ItemsSource...
    Oui, c'est vrai que je définit les graphique avec le code xml depuis peut, et que même si je sais à quoi sert quoi, je fais quelques inversion par moment .

    Sinon utiliser le style est une bonne idée, merci pour toutes ces précisions

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/07/2005, 20h14
  2. [C#] Comment modifier l'apparence d'un DataGrid?
    Par DBBB dans le forum ASP.NET
    Réponses: 8
    Dernier message: 15/07/2005, 14h41
  3. table comme résultat de requête
    Par nafnaf625 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2005, 11h51
  4. Comparaison de résultats de requêtes
    Par Nyx de Tours dans le forum Requêtes
    Réponses: 7
    Dernier message: 31/07/2004, 15h49
  5. Trier aléatoirement un résultat de requête
    Par ang36 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/01/2004, 17h38

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