Bonjour,

Je dois malheureusement corriger et déboguer le code d'une autre personne.
J'ai un DataGrid avec plusieurs colonnes nommées. Ces colonnes contiennent des données qui proviennent de la bdd...
Lors d'un clic sur ces données et normalement uniquement sur celles-ci, une popup d'édition de données s'ouvre.
Seulement voilà lors du clic sur le nom/titre des colonnes, cette popup s'ouvre également, ce dont je ne souhaite pas puisque le clic sur les titres doit être disponible seulement pour trier les données.
Comment différencier les champs et les titres des colonnes dans le vb puisque la liste de données est automatique et donc non accessible dans ce bout de code.
Je suis désolé il manque peut-être des infos et c'est peut-être vraiment stupide mais je suis trèèèèès débutant

Voici le code Xaml : (une simple DataGrid)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<sdk:DataGrid x:Name="Grid1" ItemsSource="{Binding WorkOrderList}" AutoGenerateColumns="False" Grid.Row="1" IsReadOnly="True" Margin="0">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Number" Width="auto" Binding="{Binding Employee.ProjectNumber}" ElementStyle="{StaticResource DatagridColumn}" />
                 .
                 .
                <sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" CanUserSort="True" Header="Hours" Width="Auto" Binding="{Binding Time.Hours, Mode=TwoWay}"/>
                <!--<sdk:DataGridTemplateColumn CanUserSort="True" CellTemplate="{StaticResource RowItem}" />-->
            </sdk:DataGrid.Columns>
        </sdk:DataGrid>

En gros je souhaiterais donc que la popup d'édition s'ouvre sur les données liées au Binding et non sur les titres


et le code VB :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Grid1_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs) Handles Grid1.SelectionChanged
        Dim dg As DataGrid = DirectCast(sender, DataGrid)
        Dim tsvm As TimeViewModel = dg.DataContext
        Dim owo As TimeViewModel.Grid1= DirectCast(dg.SelectedItem, TimeViewModel.Grid1)
        If owo IsNot Nothing Then
            Dim ts As Web.Time = owo.Time
            If ts IsNot Nothing Then
                tsvm.OpenEditWindow(ts)
            Else
                tsvm.NewItem(owo.Employee.WorkOrderID)
            End If
        End If
    End Sub


Merci d'avance
Cordialement