티스토리 뷰
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에서 설정하는 이상한... 나만 이해가 않되는 것인지도;;;
'WPF .NET' 카테고리의 다른 글
Telerik - DockingRegionAdapter (0) | 2021.02.24 |
---|---|
Infragistics - Differences Between xamGrid and xamDataGrid (0) | 2021.02.16 |
Infragistics - XamDataGrid 시작하기 (0) | 2021.02.08 |
New XAML Feature in Visual Studio (Preview) (0) | 2019.11.20 |
[교안 공유] WPF XAML MVVM에서부터 Prism,Reactive(Rx) Framework 개발(All Coding 과정) (3) | 2019.07.23 |
- Total
- Today
- Yesterday
- #MVVM
- Always Encrypted
- #Windows Template Studio
- uno platform
- #prism
- Microsoft
- uno-platform
- LINQ
- Bot Framework
- visual studio 2019
- #uwp
- PRISM
- UWP
- dotNETconf
- MVVM
- kiosk
- .net 5.0
- Build 2016
- Visual Studio 2022
- ef core
- Cross-platform
- C#
- .net
- windows 11
- ComboBox
- WPF
- Behavior
- IOT
- XAML
- Windows 10
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |