티스토리 뷰

WPF

Infragistics - About XamDataGrid

Connor Park 2021. 2. 15. 10:00

xamDataGrid ™ 컨트롤은 Grid View를 사용하고 데이터를 열과 행으로 정렬합니다. Records는 각 데이터 항목을 나타내는 데 사용되며 Fields는 각 레코드를 구성하는 attributes/properties 을 설명하는 데 사용됩니다. 데이터 소스에서 각 유형의 레코드를 자동으로 감지하고 각 유형에 대한 특정 FieldLayouts를 생성 할 수 있습니다. 이를 통해 DataSet 및 DataViews와 같은 기존 데이터 소스는 물론 XML과 같은 보다 자유로운 형식의 데이터 소스를 모두 지원할 수 있습니다.

Composition Diagram

xamDataGrid ™ 컨트롤은 다양한 요소로 구성됩니다. 다음 그림은 xamDataGrid의 전체 구성을 더 잘 이해할 수 있도록 요소 간의 관계를 보여줍니다.

Specifying Settings for FieldLayouts

FieldLayoutSettings 개체는 아래에 설명 된대로 하나 이상의 FieldLayouts에 적용되는 설정을 지정하는 데 사용됩니다. 이 개체는 다음 두 속성에 의해 노출됩니다.

DataGrid의 기능 중 FieldLayout과 관련된 것은 이 녀석을 이용해서 처리할 수 있습니다. WPF의 기본 DataGrid의 기능 처리와는 많이 다르니 참고하시기 바랍니다.

FieldLayoutSettings Property

이 속성에 대해 지정된 설정은 FieldLayouts 컬렉션의 모든 FieldLayouts에 대한 기본값이됩니다.

여기서 중요한 부분은 FieldLayouts 컬렉션에는 여러개의 FieldLayout이 들어갈 수 있다는 것입니다.

 

        <igDP:XamDataGrid x:Name="xamDataGrid">
            <igDP:XamDataGrid.FieldLayoutSettings>
                <igDP:FieldLayoutSettings 
                    HighlightAlternateRecords="True"/>
            </igDP:XamDataGrid.FieldLayoutSettings>
        </igDP:XamDataGrid>

주요 프로퍼티

Name Description
AddNewRecordLocation 레코드 추가 UI가 사용자에게 표시되는 위치를 지정합니다.
AllowAddNew 사용자가 그리드에서 레코드를 추가 할 수 있는지 여부를 지정합니다.
AllowDelete 사용자가 그리드에서 레코드를 삭제 할 수 있는지 여부를 지정합니다.
AllowFieldMoving 사용자가 필드를 끌어서 놓아 필드를 다시 정렬 할 수 있는지 여부를 지정합니다.
AllowRecordFixing 사용자가 레코드를 고정(핀셋)할 수 있는지 여부를 지정합니다.
AutoFitMode 자동 맞춤 모드를 지정합니다.
AutoGenerateFields Data Source에 입력된 데이터의 모든 속성에 대해 Fields 컬렉션을 자동으로 채울지 여부를 지정합니다.
ChildRecordsDisplayOrder 하위 레코드가 확장 될 때 상위 레코드를 기준으로 표시되는 방법을 나타내는 값을 지정합니다.
CopyFieldLabelsToClipboard 복사중인 셀과 연결된 필드 레이블이 클립 보드에 배치 된 출력에 포함되어야하는지 여부를 지정합니다.
DataRecordPresenterStyle RecordPresenters 스타일을 지정합니다.
DataRecordPresenterStyleSelector RecordPresenters 스타일셀렉터를 지정합니다.
FilterClearButtonLocation 필터 클리어 버튼 위치를 지정합니다.
FilterEvaluationMode 데이터 필터링 작업을 수행하는 방법을 지정합니다.
FilterRecordLocation 필터 레코드의 위치를 지정합니다.
FilterUIType 필터 인터페이스 유형을 지정합니다.
FixedRecordLimit 고정할 레코드 수를 지정합니다.
HighlightAlternateRecords IsAlternate 속성이 true를 반환할지 여부를 지정합니다. 짝수 줄에 백그라운드 컬러를 표시할 수 있습니다.
LabelLocation 레이블의 위치를 지정합니다.
RecordSelector관련 프로퍼티 레코드 선택 표시 관련 프로퍼티를 지정합니다.
SelectionTypeRecord, Cell, Field 셀렉션 타입을 지정합니다.

더 자세한 설명은 여기를 참고합니다.

필더와 관련된 옵션은 FieldLayoutSettings에 있지만, 필터 보이기/숨기기는 FieldSettings에 있습니다.
        <igDP:XamDataGrid x:Name="xamDataGrid">
            <igDP:XamDataGrid.FieldSettings>
                <igDP:FieldSettings AllowRecordFiltering="True"/>
            </igDP:XamDataGrid.FieldSettings>
            <igDP:XamDataGrid.FieldLayoutSettings>
                <igDP:FieldLayoutSettings 
                    HighlightAlternateRecords="True"
                    FilterClearButtonLocation="FilterCell"
                    FilterRecordLocation="OnTopFixed"
                    FilterEvaluationMode="Default" />
            </igDP:XamDataGrid.FieldLayoutSettings>
        </igDP:XamDataGrid>

FieldSettings Property

Fields 컬렉션의 모든 필드에 대한 기본 설정을 지정합니다.

Name Description
AllowEdit 사용자가 셀을 편집 할 수 있는지 여부를 지정합니다.
AllowFixing 사용자가 필드의 고정 상태를 변경할 수 있도록 허용해야하는지를 지정합니다.
AllowGroupBy 사용자가 필드의 UI를 통해 그룹을 시작할 수 있는지 여부를 지정합니다.
AllowHiding 사용자가 필드를 표시하거나 숨길 수 있는지 여부를 지정합니다.
AllowRecordFiltering 레코드 필터링 사용자 인터페이스를 지정합니다.
AllowSorting 사용자가 필드를 정렬 할 수 있는지 여부를 지정합니다.
AllowSummaries 사용자가 요약 계산 UI를 사용할지 여부를 지정합니다.
Cell 관련 속성 셀에 관련된 속성들을 정의 할 수 있습니다.
Expandable 관련 속성 익스팬더블 관련 속성들을 지정합니다.
Filter 관련 속성 필터 관련 속성들을 지정합니다.
GroupBy 관련 속성 그룹 관련 속성들을 지정합니다.
IsAutoEditModeEnabled 텍스트 입력 또는 스페이스 키를 눌렀을 때 자동으로 편집 모드가 될지를 지정합니다.
Label 관련 속성 레이블 관련 속성들을 지정합니다.
MergedCell 관련 속성 머지셀 관련 속성들을 지정합니다.
SummaryDisplayArea 요약 UI를 표시할 여부와 위치를 지정합니다.

더 자세한 사항은 여기를 참고합니다.

 

간단하게 FieldSettings와 FieldLayoutSettings를 살펴 보았습니다. 그런데, 사실 이 두개의 속성이 어떻게 나누어져있는지 명확한 구분이 않되는 문제가 좀 있는것 같습니다.

예를 들어 AllowAddNew는 FieldLayoutSettings에서 설정하고 AllowEdit는 FieldSettings에서 설정하는 이상한... 나만 이해가 않되는 것인지도;;;

 

 

댓글
댓글쓰기 폼