3 種類の個別のチェックボックスの質問があり、すべて同じデータグリッドでの使用に関連しています。
dtAll
データテーブルをデータグリッド にロードし、dgdList
各列をインポートしたデータにバインドしました。データグリッドには、チェックボックス付きの最初の列もあります。どのデータ行がチェックされたかを確認するにはどうすればよいですか。目的の機能は、ユーザーが 2 つの重複をマークしてマージすることです。チェックボックス列がチェックされているときはいつでも、データテーブルまたはデータグリッドから行データを収集できる必要があります以下のように、データグリッドをテーブルにグループ化すると、複数のチェックボックスをオンにする機能が無効になります。新しい行を選択するたびに、以前のチェックボックスがすべてクリアされます。複数行のボックスにチェックを入れたいです。(さらに、行を選択するために 1 回、チェックボックスの値を true に編集するために 1 回、2 回クリックする必要があります。1 回のクリックでそれができれば素晴らしいことです)。
Dim myView As System.ComponentModel.ICollectionView myView = CollectionViewSource.GetDefaultView(dtAll) myView.GroupDescriptions.Add(New PropertyGroupDescription("GROUP ID")) dgdList.ItemsSource = dtAll.DefaultView
グループ ヘッダーにチェックボックスを追加しました。クリックすると、そのグループ内のすべての行の各チェックボックスに入力したいと思います。私にもこれを行う方法はありますか?それが役立つ場合、以下はレコードのグループを分割するために使用しているXamlコードです
<DataGrid.GroupStyle> <GroupStyle> <GroupStyle.HeaderTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Path=Name}" /> </StackPanel> </DataTemplate> </GroupStyle.HeaderTemplate> <GroupStyle.ContainerStyle> <Style TargetType="{x:Type GroupItem}" x:Name="Style1"> <Setter Property="Template" x:Name="Setter1"> <Setter.Value> <ControlTemplate TargetType="{x:Type GroupItem}" x:Name="ControlTemplate1"> <Expander IsExpanded="True" Name="Expander1"> <Expander.Header> <StackPanel Orientation="Horizontal"> <CheckBox Name="CheckBox9" /> <TextBlock Text=" Exact Name Match Group #"/> <TextBlock Text="{Binding Path=Name}" /> </StackPanel> </Expander.Header> <ItemsPresenter /> </Expander> </ControlTemplate> </Setter.Value> </Setter> </Style> </GroupStyle.ContainerStyle> </GroupStyle> </DataGrid.GroupStyle>