1

3 種類の個別のチェックボックスの質問があり、すべて同じデータグリッドでの使用に関連しています。

  1. dtAllデータテーブルをデータグリッド にロードし、dgdList各列をインポートしたデータにバインドしました。データグリッドには、チェックボックス付きの最初の列もあります。どのデータ行がチェックされたかを確認するにはどうすればよいですか。目的の機能は、ユーザーが 2 つの重複をマークしてマージすることです。チェックボックス列がチェックされているときはいつでも、データテーブルまたはデータグリッドから行データを収集できる必要があります

  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
    
  3. グループ ヘッダーにチェックボックスを追加しました。クリックすると、そのグループ内のすべての行の各チェックボックスに入力したいと思います。私にもこれを行う方法はありますか?それが役立つ場合、以下はレコードのグループを分割するために使用している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>
    
4

0 に答える 0