Две строки отображают то же самое в datagrid после обновления datagrid
I have a project, entering different data on 2 rows(or more than 2 rows) of datagrid (using C #, WPF, database: sql server), after refreshing the datagrid, result:data 2-rows display similar (similar to the last row input) data 2-rows display in the database is different (this is expected on the datagrid). What happened?
Description: Input data in two row: row 1: MachineId = 1, MachineName = A; row 2: MachineId = 2, MachineName = B; After refresh datagrid: row 1: MachineId = 2, MachineName = B; row 2: MachineId = 2, MachineName = B; How are do display data the same...: row 1: MachineId = 1, MachineName = A; row 2: MachineId = 2, MachineName = B;
public partial class Machine : INotifyPropertyChanged { public int MachineId { get; set; } public string MachineName { get; set; } public event PropertyChangedEventHandler PropertyChanged; }
компонента DataGrid:
<DataGrid x:Name="dgMachine" ItemsSource="{Binding MachineList}"> <DataGrid.Columns> <DataGridTextColumn x:Name="dgtMachineId" Binding="{Binding MachineId}" Header="MachineId"/> <DataGridTextColumn x:Name="dgtMachineName" Binding="{Binding MachineName}" Header="MachineName" /> </DataGrid.Columns> </DataGrid>
Обновить элемент управления DataGrid:
dgMachine.ItemsSource = null; dgMachine.ItemsSource = ViewModel.MachineList;
Что я уже пробовал:
I think the problem in the datagrid, but do not know what is
Maciej Los
WPF?
HT Vinh
Да, я использую WPF.
Gerry Schmitz
Загляните в "список машин", а не в сетку.
И установка ItemSource в null перед "установкой" ничего вам не даст.
HT Vinh
MachineList - это список, код:
публичный класс ViewAViewModel : BindableBase
{
public IList<machine> MachineList { get; }
общественные ViewAViewModel()
{
MachineList = new ObservableCollection<machine>(new MachineRepo().Способность());
}
}