2015-09-29 3 views
0

У меня есть datagrid в привязке, состоящий из одного столбца и кнопки.Как обновить все значения в столбце datagrid?

Когда я нажимаю на эту кнопку «Выбрать все», все значения в столбце изменились.

В чем проблема? Я сразу увижу результат без прокрутки datagrid.

Как я могу произвести немедленное обновление столбца?

<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"); 
    } 
} 
+0

Спасибо, но не работает! :-( – Alan392

+0

Как насчет 'OnPropertyChanged (« Soc_cod »);'? Вы меняете значение свойства Soc_cod, поэтому пытайтесь поднять его измененное событие. – Reniuz

+0

Я пробовал с OnPropertyChanged («Soc_cod») и OnPropertyChanged («Ele_Soc»), но doesn ' т работа – Alan392

ответ

0

решаемые.

После «Для» цикла я добавил этот код

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"); 
Смежные вопросы