Nagłówek kolumny Datagrid powinien zaznaczyć / odznaczyć stan CheckBox w zależności od tego, czy wszystkie pola CheckBox kolumny DataGridView są zaznaczone lub odznaczone
Problem, z którym utknąłem, jest związany z polem wyboru w DataGrid (WPF). Załączam zrzut ekranu, aby lepiej zrozumieć problem.
Problem: Pole wyboru DataHeader jest zaznaczone, nawet gdy jedno z dzieci jest odznaczone. Spodziewam się, że rozwiązanie to naprawi tak, że gdy jedno z dzieci zostanie odznaczone bezpośrednio przez użytkownika, WSZYSTKO (Nagłówek kolumny) powinno być odznaczone niejawnie.
Pomóżcie chłopaki ... Dziękuję Plz sprawdź link. Chcę, żeby to rozwiązanie działało w ten sposób.http://www.codeproject.com/Articles/42437/Toggling-the-States-of-all-CheckBoxes-Inside-a-Dat#
<code><dg:DataGrid.Columns> <dg:DataGridCheckBoxColumn Binding="{Binding Check}" IsThreeState="True" Width="50"> <dg:DataGridCheckBoxColumn.HeaderTemplate> <DataTemplate x:Name="dtAllChkBx"> <CheckBox Name="cbxAll" Content="{x:Static properties:Resources.lblAll}" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" /> </DataTemplate> </dg:DataGridCheckBoxColumn.HeaderTemplate> </dg:DataGridCheckBoxColumn> </code>
.
<code>private void CheckBox_Unchecked(object sender, RoutedEventArgs e) { unchck_all_prd(); dgEnggAcc.Items.Refresh(); } private void unchck_all_prd() { for (int i = 0; i < engg_list.Count; i++) { engg_list[i].Check = false; } } private void chck_all_prd() { for (int i = 0; i < engg_list.Count; i++) { engg_list[i].Check = true; } } public class EnggLst : ObservableCollection<EnggLst> { public bool Check { get; set; } } </code>