Différencier les titres et les données d'une DataGrid pour utilisation dans VB
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 :oops:
Voici le code Xaml : (une simple DataGrid)
Code:
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:
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