none
saisie dans un datagrid RRS feed

  • Question

  • Bonjour ,

    j'essaye vainement de saisir directement dans des cellules d'un datagrid. Je navigue bien d'une cellule a l'autre , mais je n'arrive pas à ce que les cellules se positionnent en mode editing directement . Je voudrais eviter de clicquee a chaque fois sue la cellule a saisir.

    Merci pour votre aide et vos liens .

    Anthride

    jeudi 14 avril 2011 15:49

Réponses

  • Voila j'ai trouvé une solution, il suffit de mettre la propriété IsTabStop à false sur un syle de type DataGridCell dans les ressources d'un Datagrid :

    <DataGrid.Resources>
            <Style TargetType="{x:Type DataGridCell}" >
              <Setter Property="IsTabStop" Value="False" />
            </Style>
          </DataGrid.Resources>
    

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 28 avril 2011 18:27
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Le mieux dans ce cas est de créer une column personnalisée, voici un exemple ;

    <DataGrid x:Name="dt1" SelectionUnit="Cell" >
          <DataGrid.Columns>
            <DataGridTemplateColumn Header="test" >
              <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                  <TextBox />
                </DataTemplate>
              </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
          </DataGrid.Columns>
          
        </DataGrid>
    


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    mardi 26 avril 2011 19:36
    Modérateur
  • Merci pour ta reponse

     

    J'ai fait comme ton exemple, je crée des colonnes personnalisées avec des textbox. Je me positionne bien sur la cellule voulue et je force le editing. Mais pour saisir je dois quand meme cliquer sur la celule et c'est cela que je voudrait eviter . 

    Avec silverlight cela fonctionne tres bien , mais je n'y arive pas avec WPF.  

     

    Cordialement    Anthride

    mercredi 27 avril 2011 06:24
  • Tu as bien la propriété SelectionUnit de ton Datagrid à Cell?

     

    Car moi cela fonctionne sans problème, dès que je clique sur la cellule je peux saisir dans la textbox.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7


    mercredi 27 avril 2011 10:08
    Modérateur
  • C'est cela le probleme. Je ne veux pas me servir de la souris

     

    Exemple : j'ai 3 colonnes dans un datagrid vide.

    Code produit  |  Designation | Qantité

    je saisie un code produit , j'affiche la designatio correspodante , je me position sur la colonne Quantite et la , je veus saisir un chiffre directement. Mais avex WPF Je suis obligé de clicquer avec la souris et c'est cela que je ne veut pas.

    Merci pour ton aide   Anthride

     

    jeudi 28 avril 2011 09:42
  • Ok sa c'est un comprtement normal.

    Il faut peut être voir le style d'un Objet de type Cell pour que la propriété IsTabStop soit à false.

    Je regarderai ce soir si je trouve une solution pour contourner ce problème.


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 28 avril 2011 11:58
    Modérateur
  • Voila j'ai trouvé une solution, il suffit de mettre la propriété IsTabStop à false sur un syle de type DataGridCell dans les ressources d'un Datagrid :

    <DataGrid.Resources>
            <Style TargetType="{x:Type DataGridCell}" >
              <Setter Property="IsTabStop" Value="False" />
            </Style>
          </DataGrid.Resources>
    

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 28 avril 2011 18:27
    Modérateur