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 :

DataGrid Vertical avec Header à droite


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 31
    Par défaut DataGrid Vertical avec Header à droite
    Bonjour,

    Est-il possible d'utiliser le controle DataGrid du WPF Toolkit de manière Verticale avec les headers à droite et un élément par colonne ?

    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Tu dois pouvoir effectuer une rotation du DataGrid de manière à mettre les header des colonnes à droite et tu crées des templates pour les header des colonnes ainsi que pour les cellules sans oublier de leur faire une rotation aussi.

    Après il existe peut-être déjà une option...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 31
    Par défaut
    Justement Je ne trouve pas ce paramètres je suis preneur si quelqu'un le connait ou avoir un exemple. merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Pour faire une rotation du Datagrid :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <dg:DataGrid x:Name="Dg1" x:FieldModifier="private" 
                     RenderTransformOrigin="0.5, 0.5" 
                     RowHeight="100" >
          <dg:DataGrid.LayoutTransform>
            <RotateTransform Angle="90" />
          </dg:DataGrid.LayoutTransform>
     
        </dg:DataGrid>

    Après il faut aussi faire une rotation sur les cellules, et header peut-être (sauf si tu veux les garder comme ça)

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Tu peux redéfinir le style des colonnes ainsi :
    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
          <dg:DataGrid.Resources>
            <Style TargetType="{x:Type dgc:DataGridColumnHeader}" >
              <Setter Property="Height" Value="80" />
     
              <Setter Property="ContentTemplate">
                <Setter.Value>
                  <DataTemplate>
                    <StackPanel>
                      <TextBlock Text="{Binding}" RenderTransformOrigin="0.5, 0.5" >
                          <TextBlock.RenderTransform>
                            <RotateTransform Angle="-90"/>
                          </TextBlock.RenderTransform>
                      </TextBlock>
                    </StackPanel>
                  </DataTemplate>
                </Setter.Value>
              </Setter>
            </Style>
          </dg:DataGrid.Resources>

    où dgc fait référence à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:dgc="clr-namespace:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit"

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Pour reprendre l'ensemble, en ajoutant la partie rotation sur les cellules :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <Window 
      x:Class="WpfApplication1.Window1"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:dg="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
      xmlns:dgc="clr-namespace:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit"
      Title="Window1" 
      Height="220" Width="400"
      WindowStartupLocation="CenterScreen" 
      >
     
      <Grid>
        <dg:DataGrid x:Name="Dg1" x:FieldModifier="private" 
                     RenderTransformOrigin="0.5, 0.5" 
                     RowHeight="100" >
          <dg:DataGrid.LayoutTransform>
            <RotateTransform Angle="90" />
          </dg:DataGrid.LayoutTransform>
     
          <dg:DataGrid.Resources>
     
            <Style TargetType="{x:Type dgc:DataGridColumnHeader}" >
              <Setter Property="Height" Value="80" />
     
              <Setter Property="ContentTemplate">
                <Setter.Value>
                  <DataTemplate>
                    <StackPanel>
                      <TextBlock Text="{Binding}" RenderTransformOrigin="0.5, 0.5" >
                          <TextBlock.RenderTransform>
                            <RotateTransform Angle="-90"/>
                          </TextBlock.RenderTransform>
                      </TextBlock>
                    </StackPanel>
                  </DataTemplate>
                </Setter.Value>
              </Setter>
            </Style>
     
            <Style TargetType="{x:Type dg:DataGridCell}">
              <Setter Property="Template">
                <Setter.Value>
                  <ControlTemplate TargetType="{x:Type dg:DataGridCell}">
                    <Border Background="{TemplateBinding Background}"
                                                         BorderBrush="{TemplateBinding BorderBrush}"  
                                                         BorderThickness="{TemplateBinding BorderThickness}"
                                                         SnapsToDevicePixels="True">
                      <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
                        <ContentPresenter.LayoutTransform>
                          <RotateTransform Angle="-90"/>
                        </ContentPresenter.LayoutTransform>
                      </ContentPresenter>
                    </Border>
                  </ControlTemplate>
                </Setter.Value>
              </Setter>
            </Style>
     
          </dg:DataGrid.Resources>
        </dg:DataGrid>
     
      </Grid>
     
    </Window>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 31
    Par défaut
    Wahouu vraiment super tout ça et surtout merci à vous pour votre temps de réaction.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Pas de quoi

    Pense au Tag si tout est bon.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 31
    Par défaut
    Juste une dernière question comment faire pour que mes DataGridCell s'adaptent automatiquement à la taille du contenu, ou pour le définir manuellement car

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <Style TargetType="{x:Type dg:DataGridCell}">
                        <Setter Property="Height" Value="200" />
    ne marche pas.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 31
    Par défaut
    J'ai trouvé pourquoi faire compliqué quand on peut faire simple lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <dg:DataGrid  
                     RowHeight="300"

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

Discussions similaires

  1. [vb.net][datagrid] probleme avec l'event lostfocus
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/10/2005, 13h24
  2. [C#] Datagrid vertical
    Par bendj dans le forum ASP.NET
    Réponses: 6
    Dernier message: 14/06/2005, 15h44
  3. Image avec texte à droite puis en dessous
    Par StarNab dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/05/2005, 17h25
  4. Utiliser MySqlAdmin avec des droits utilisateurs sur XP
    Par thorgal85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/03/2005, 12h19
  5. pb avec "bordure" droite d'un tableau
    Par 3psilOn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/11/2004, 03h14

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