>

레코드 필터링이 허용 된 XamDataGrid가 있습니다. 첫 번째 필드는 "선택"체크 상자이고 나머지는 그리드에 표시 한 개체의 데이터 일뿐입니다. 코드 측면에서 다음과 같습니다.

<igWPF:XamDataGrid x:Name="xamDataGrid" 
                   DataSource="{Binding SomeDataSourceInTheViewModels}">
    <!-- XamDataGrid Settings -->
    <igWPF:XamDataGrid.FieldLayoutSettings>
        <igWPF:FieldLayoutSettings FilterAction="Hide"
                                   FilterUIType="LabelIcons"/>
    </igWPF:XamDataGrid.FieldLayoutSettings>
    <igWPF:XamDataGrid.FieldSettings>
        <igWPF:FieldSettings ...
                             AllowRecordFiltering="True"
                             FilterOperatorDefaultValue="Equals"
                             FilterLabelIconDropDownType="MultiSelectExcelStyle"
                            .../>
    </igWPF:XamDataGrid.FieldSettings>
    <!-- XamDataGrid Field layout -->
    <igWPF:XamDataGrid.FieldLayouts>
        <igWPF:FieldLayout>
            <igWPF:Field Label="Selected" Name="Selected" Width="Auto">
                <!-- Select/Unselect all button -->
                <igWPF:Field.Settings>
                    <igWPF:FieldSettings AllowEdit="True">
                        <igWPF:FieldSettings.LabelPresenterStyle>
                            <Style TargetType="{x:Type igWPF:LabelPresenter}" BasedOn="{StaticResource {x:Type igWPF:LabelPresenter}}">
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type igWPF:LabelPresenter}">
                                            <!-- The Select all checkbox -->
                                            <CheckBox /> 
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </igWPF:FieldSettings.LabelPresenterStyle>
                    </igWPF:FieldSettings>
                </igWPF:Field.Settings>
            </igWPF:Field>
            <!-- The rest of the fields -->
            <igWPF:Field Label="SomeIntValue" Name="SomeIntValue" Width="Auto"/>
            <igWPF:Field Label="SomeBoolValue" Name="SomeBoolValue" Width="Auto" />
            <igWPF:Field Label="SomeStringValue" Name="SomeStringValue" Width="Auto" />
        </igWPF:FieldLayout>
    </igWPF:XamDataGrid.FieldLayouts>
</igWPF:XamDataGrid>

최종 목표는 Selected 위의 데이터 그리드 상단에 확인란을 두는 것입니다.  필터링되지 않은 모든 행을 클릭하고 선택할 수있는 항목입니다. 이것을 구현하는 방법에 대한 새로운 아이디어가 열려 있지만 내 질문은 코드 숨김 또는 ViewModel에서 필터링되지 않은 모든 행을 반복하는 방법은 무엇입니까?

어딘가에 "IsFilteredOut"속성이 있지만 xamDataGrid 에서 찾을 수 없습니다.


  • 답변 # 1

    RecordemGetFilteredOutDataRecords ()메소드는 레코드 필터 조건을 통과하지 않는 모든 데이터 레코드를 리턴합니다.

    foreach(var rec in xamDataGrid.RecordManager.GetFilteredOutDataRecords())
    {
      // TODO: ...
    }
    
    

    도움이됩니다.

  • 이전 java - 두 개의 for-loop에서 postDelayed 또는 sleep을 각각 두 번 사용하는 방법
  • 다음 Python sys.argv - 파이썬 sysargv - [파이프 또는 세미콜론으로] 전체 명령 행 가져 오기