如何刷新数据网格列中的所有值

本文关键字:网格 数据网 何刷新 刷新 数据 | 更新日期: 2023-09-27 18:15:19

我有一个绑定的数据网格,由一列和一个按钮组成。

当我点击"全选"按钮时,列中的所有值都改变了。

有什么问题吗?我可以立即看到没有数据网格滚动的结果。

如何立即刷新列?

<DataGrid AutoGenerateColumns="False" 
    ItemsSource="{Binding Ele_Soc, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    SelectedItem="{Binding Selec_Elenc, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    SelectionMode="Single"  Name="Dg_Dat" >
    <DataGrid.Columns>                
          <DataGridTextColumn x:Name="col_Soc_cod" Binding="{Binding Soc_cod}" 
                             IsReadOnly="True" Header="Soc. Cod"  Width="80" />
    </DataGrid.Columns>
</DataGrid>
public ObservableCollection<Model_Soc> Ele_Soc { get; set; }
private void Cmd_SelectAll()
{
    for (Int32 i = 0; i <= Ele_Soc.Count - 1; i++) {
        Ele_Soc.Item(i).Soc_cod = "Yes";
        OnPropertyChanged("Ele_Soc");
    }
}

如何刷新数据网格列中的所有值

已解决

在"For"循环之后,我添加了以下代码

for (Int32 i = 0; i <= Ele_Soc.Count - 1; i++) 
{
    Ele_Soc.Item(i).Soc_cod = "Yes";
    OnPropertyChanged("Ele_Soc");
}
ObservableCollection<Model_Soc> Tmp = Ele_Soc;
Ele_Soc = null;
OnPropertyChanged("Ele_Soc");
Ele_Soc= Tmp;
OnPropertyChanged("Ele_Soc");