私は1つのフォームを開いているし、私はテーブルに移動し、1つのレコードを更新します。それから私は戻ってフォームをリフレッシュしますが、そのレコードは更新されません。データベースに追加されたレコードがフォームに更新されていませんか?
私はに結合されている形でDataGrid
の形をしています。リフレッシュでは、私が使用してデータベースからこのObservableCollection
にレコードを追加します。
filteredProductList.Clear();
foreach(Formulation frm in dbContext.Formulations)
{
filterViewedList.Add(frm);
}
PageLoad
イベントは以下の通りです:
private void loadData()
{
try
{
filterViewedList= new ObservableCollection<Formulation>(dbContext.Formulations);
dgRecords1.ItemsSource = filterViewedList;
}
XAMLは以下の通りです:
<DataGrid Height="387" x:Name="dgRecords1" Margin="0,0,64,0"
IsSynchronizedWithCurrentItem="True" Style="{DynamicResource StyleDatagrid}"
ClipboardCopyMode="None" ColumnHeaderStyle="{DynamicResource DataGridColumnHeaderStyle1}"
SelectionChanged="dgRecords1_SelectionChanged" Grid.Column="1" Grid.Row="3">
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Width="110" Header="Code" Binding="{Binding FrmltnNo, Mode=TwoWay}" IsReadOnly="True" Foreground="Black"/>
<DataGridTextColumn Width="415" Header="Description" Binding="{Binding FrmltnName, Mode=TwoWay}" IsReadOnly="True" Foreground="Black"/>
<DataGridTextColumn Width="*" Header="Status" Binding="{Binding Status, Mode=TwoWay}" IsReadOnly="True" >
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Foreground" Value="{Binding Converter={StaticResource FGColorKey}}"/>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
XAMLを表示でき、バインディングとバインディングのプロパティをどのように表示することができれば助かります... –
dbContextをどこかで更新していますか?オブジェクトに古いデータが残っている可能性があります。 – Feroc