Sự cố tôi đang mắc phải có liên quan đến hộp kiểm trong DataGrid (WPF). Tôi đã đính kèm ảnh chụp màn hình để hiểu rõ hơn về sự cố.Tiêu đề cột dữ liệu thống kê nên kiểm tra/bỏ chọn trạng thái Hộp kiểm tùy thuộc vào việc tất cả các Hộp kiểm của cột DataGridView được chọn hay không được chọn
Sự cố: Hộp kiểm Cột DataHeader được chọn ngay cả khi một trong các trẻ em được bỏ chọn. Tôi hy vọng các giải pháp để sửa lỗi này để khi một trong những đứa trẻ được bỏ chọn một cách rõ ràng bởi người sử dụng, TẤT CẢ (Tiêu đề cột) nên được bỏ chọn ngầm.
Hãy giúp các bạn ... Cảm ơn bạn Plz kiểm tra liên kết. tôi muốn các giải pháp để làm việc như thế này. http://www.codeproject.com/Articles/42437/Toggling-the-States-of-all-CheckBoxes-Inside-a-Dat#
<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>
.
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; }
}
xin vui lòng đặt mã XAML của bạn – ABH
Theo tôi bạn không nên' t có tiêu đề được bỏ chọn nếu có một hàng không được kiểm soát. Trong tâm trí của tôi nếu tất cả được bỏ chọn sau đó có nghĩa là _all các hàng được bỏ chọn_. Bạn nên sử dụng hộp kiểm 3 trạng thái và sử dụng trạng thái "tôi không biết" thứ 3 cho một hỗn hợp. Windows hoạt động theo cách này (Hãy nghĩ đến việc chọn nhiều tệp trong trình thám hiểm, một số trong đó chỉ đọc và một số trong đó không có. Nếu bạn xem thuộc tính của các tệp này, hộp kiểm chỉ đọc sẽ ở trạng thái thứ ba) –