Bonjour,
Après de longue recherche, j'ai pu repérer que les "CollectionViewSource " étaient la méthode la plus transparente pour faire fonctionner mon datagrid
J'affiche 1 champs et lorsque je le modifie il ne s'enregistre pas... Je pense que je doit enregistrer sur le mauvais dataContext Mais je sais pas comment faire...
J'ai une liaison avec mon LINQ To SQL et une base de donnée SQL Server
Et j'ai fait une génération automatique des objets
Voici le code Behind :
Voici le XamL :
Code : 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 Class MainWindow Dim _DbAnance As DataClasses1DataContext Private Property T_ARBO_FALViewSource As CollectionViewSource Public Sub New() ' Cet appel est requis par le concepteur. InitializeComponent() _DbAnance = New DataClasses1DataContext End Sub Private Sub DataGrid1_CellEditEnding(ByVal sender As Object, ByVal e As System.Windows.Controls.DataGridCellEditEndingEventArgs) _DbAnance.SubmitChanges() End Sub Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded T_ARBO_FALViewSource = CType(Me.FindResource("T_ARBO_FALViewSource"), System.Windows.Data.CollectionViewSource) 'T_ARBO_FALViewSource.Source = New ObservableCollection(Of T_ARBO_FAL)(From Fal In _DbAnance.T_ARBO_FAL) T_ARBO_FALViewSource.Source = _DbAnance.T_ARBO_FAL End Sub End Class
Il y a pas une erreur avec _DbAnance ? alors que j'utilise une CollectionViewSource ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 .... <Window.Resources> <staticData:FalList x:Key="FalList"/> <CollectionViewSource x:Key="TASKViewSource" d:DesignSource="{d:DesignInstance staticData:TASK, CreateList=True}" /> <CollectionViewSource x:Key="T_ARBO_FALViewSource" d:DesignSource="{d:DesignInstance staticData:T_ARBO_FAL, CreateList=True}" /> </Window.Resources> <Grid x:Name="GridMain" RenderTransformOrigin="0.495,0.536" Height="728" Width="1128" DataContext="{StaticResource TASKViewSource}"> <DataGrid AutoGenerateColumns="False" Height="364" HorizontalAlignment="Left" Margin="96,163,0,0" Name="DataGrid1" VerticalAlignment="Top" Width="801" Grid.ColumnSpan="2" Grid.RowSpan="2" ItemsSource="{Binding Source={StaticResource T_ARBO_FALViewSource}}" CanUserAddRows="True"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding Path=FAL_NAME}" Header="Nom de la tache" /> </DataGrid.Columns> </DataGrid> </Grid> ...
Je cherche dans tous les sens mais je suis un peu perdu ...
Partager