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

Windows Presentation Foundation Discussion :

Selectioner la valeur dans une DATAGRID


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 28
    Par défaut Selectioner la valeur dans une DATAGRID
    Bonjour tous le monde,

    je bosse pour le moment sur un projet WPF/C#, et j'ai un petit problème si vous voulez m'aider bien sur.
    j'utilise une datagrid qui contient des données de ma base de données et je cherche d'ajouté la chose suivante : quand je clique sur une ligne de mon datagride, il me forword vers une autre page qui contient les détails de cette lien. j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NavigationService.GetNavigationService(this).Navigate(new Uri("ClientDetails.xaml", UriKind.Relative));
    pour passer au page désirer mais mon problème et que je ne sais pas comment recupérer la valeur de la ligne séléctionner et de l'utiliser pour afficher les détails de cette ligne.

    Merci d'avance.

    IHAMM

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Il faut que tu précises dans ton datagrid que tu utilises l'évent "onClick" pour les lignes.
    Si tu passes pas l'éditeur graphique, ça te créera directement la méthode adaptée, et il ne te restera qu'à y inclure ton code à l'intérieur.
    Tu peux récupérer la ligne courante via myDataGrid.CurrentRow.

    Tu peux faire la même chose sur une cellule plutôt qu'une ligne...

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 28
    Par défaut
    Voila ce que j'ai sur ma le Xaml et j'utilise "SelectedCellsChanged"
    Code xml : 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
    17
    18
    19
    20
    21
    22
    23
    <my:DataGrid AutoGenerateColumns="False" Name="dataGrid1" RowBackground="#FFE6E6E6"
                     ItemsSource="{Binding}" AlternationCount="1" AlternatingRowBackground="#FFF2F2F2"
                     HorizontalGridLinesBrush="White" MinRowHeight="50" RowHeaderWidth="0" SelectionUnit="FullRow"
                     VerticalGridLinesBrush="{x:Null}" ColumnHeaderStyle="{StaticResource GeneralHeader}"
                     FontSize="12" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" SelectedCellsChanged="dataGrid1_SelectedCellsChanged" >
     
            <my:DataGrid.Columns >
                <my:DataGridTemplateColumn Header="Code routing" Width="125"
                                           CellStyle="{StaticResource CenteredCell}"
                                           HeaderStyle="{StaticResource CenteredHeader}">
                    <my:DataGridTemplateColumn.CellTemplate >
                        <DataTemplate>
                            <Grid Width="125" Margin="0" Background="Transparent">
                                <Canvas HorizontalAlignment="Center">
                                    <Border Background="{Binding CodeRoutingKey, Converter={StaticResource CodeRoutingConverter}}" 
                                            Padding="6,3" CornerRadius="12" >
                                        <TextBlock Text="{Binding CodeRouting}" Foreground="White" FontStyle="Italic" />
                                    </Border>
                                </Canvas>
                            </Grid>
                        </DataTemplate>
                    </my:DataGridTemplateColumn.CellTemplate>
                </my:DataGridTemplateColumn>

    et dans le .xaml.cs je définie ma méthode comme suit :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      private void dataGrid1_SelectedCellsChanged(object sender, Microsoft.Windows.Controls.SelectedCellsChangedEventArgs e)
            {
     
               NavigationService.GetNavigationService(this).Navigate(new Uri("ClientDetails.xaml", UriKind.Relative));
     
            }

  4. #4
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    SelectedCellChanged se déclanche comme la cellule courante est modifié, c'est à dire quand l'user saisit une valeur (par exemple).
    Est-ce que c'est ce que tu veux ? Pas plutôt un OnClick ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 28
    Par défaut
    "SelectedCellsChanged=" et Onclick on le même principe mais ce que je constate que Onclick n'existe pas pour le datagrid, je veux juste savoir la méthode que je peux utiliser pour getter la valeur sélectionner soit via "SelectedCellsChanged=" ou bien OnClick.?

Discussions similaires

  1. [Débutant] rechercher des valeurs dans une datagrid à partir d'une textbox
    Par franklinw dans le forum C#
    Réponses: 6
    Dernier message: 09/10/2012, 17h30
  2. Réponses: 2
    Dernier message: 17/04/2012, 10h46
  3. Connaitre la valeur d'une cellule dans une datagrid
    Par Sargon dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/08/2007, 14h35
  4. Insérer par programmation une valeur dans une colonne d'un Datagrid.
    Par Jean_dick15 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/04/2007, 15h32
  5. comment recupérer une valeur dans un datagrid
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/02/2006, 17h04

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