하나의 양식이 열려 있고 테이블로 이동하여 하나의 레코드를 업데이트합니다. 그런 다음 다시 돌아와 양식을 새로 고치지 만 해당 레코드는 업데이트되지 않습니다.레코드가 데이터베이스에 추가되지 않아 양식에 업데이트되지 않았습니까?
이 양식의 DataGrid
은 ObservableCollection
에 바인딩되어 있습니다. 새로 고침, 나는 사용하여이 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