J'ai une zone de liste déroulante dans un RowdetailsTemplate dans un Datagrid. Si je change les colonnes, alors change automatiquement la valeur dans la colonne Datagrid avec la valeur avant sélectionnée. La valeur dans la colonne DataGrid ne devrait changer si la valeur dans la liste déroulante sont modifiésCombobox dans RowDetailTemplate mise à jour tous les colonnes avant sélectionnées
public class BMFill
{
public BMFill()
{
colCBArt.Add(new CBArt { Name = "test" , Nr = 0 });
colCBArt.Add(new CBArt { Name = "hallo", Nr = 1 });
colCBArt.Add(new CBArt { Name = "welt", Nr = 2 });
colCBArt.Add(new CBArt { Name = "blubb", Nr = 3 });
colCBArt.Add(new CBArt { Name = "lalalala", Nr = 4 });
}
List<CBArt> colCBArt = new List<CBArt>();
CollectionViewSource cvsCBArt = null;
public ICollectionView ViewCBArt
{
get
{
if (cvsCBArt == null) cvsCBArt = new CollectionViewSource() { Source = colCBArt };
return cvsCBArt.View;
}
}
public class CBArt
{
public string Name { get; set; }
public int Nr { get; set; }
}
}
<Window.Resources>
<local:BMFill x:Key="vm"/>
</Window.Resources>
<DataGrid x:Name="dg">
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<ComboBox Margin="10,10,10,10" Grid.Column="1" Grid.Row="1"
SelectedValuePath="Nr"
SelectedValue="{Binding NrDG,UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Name"
ItemsSource="{Binding Source={StaticResource vm}, Path=ViewCBArt}"
/>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
je l'espère, comprendre mon problème et peut me aider =)
Mon problème est que je dois mettre à jour la colonne DataGrid en cas de changement de la valeur dans la zone de liste déroulante –
@ ToniSchönberger ainsi vous pouvez enregistrer la valeur précédente sur Ouvert, et vérifier si elle a changé dans Closed (en utilisant global v ariable). Si oui, mettez à jour Datagrid Colum – ShugiShugi