TreeListColumnFilterMode Enum
Lists values that specify how to filter TreeList data.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v25.1.dll
NuGet Package: DevExpress.Blazor
Declaration
public enum TreeListColumnFilterMode
Members
Name | Description |
---|---|
Value
|
The TreeList filters column data by values. |
DisplayText
|
The TreeList filters column data by display text.’ |
Related API Members
The following properties accept/return TreeListColumnFilterMode values:
Remarks
The TreeListColumnFilterMode
enumeration values specify whether TreeList data is filtered by value or display text.
Filter Data By Value (Default Behavior)
When the FilterMode property is set to Value
, the TreeList filters rows by cell values.
The following code snippet filters Progress column data by values:
<DxTreeList Data="@Data"
KeyFieldName="Id"
ParentKeyFieldName="ParentId"
ShowFilterRow="true"
CustomizeCellDisplayText="TreeList_CustomizeCellDisplayText">
<Columns>
<DxTreeListCommandColumn Width="200px" />
<DxTreeListDataColumn FieldName="Name" Caption="Task" Width="40%" />
<DxTreeListDataColumn FieldName="EmployeeName"
FilterRowOperatorType="TreeListFilterRowOperatorType.Contains" />
<DxTreeListDataColumn FieldName="Progress" DisplayFormat="{0}%"
FilterMode="TreeListColumnFilterMode.Value"
SortOrder="TreeListColumnSortOrder.Descending" SortIndex="0" />
</Columns>
<TotalSummary>
<DxTreeListSummaryItem FieldName="Name" SummaryType="TreeListSummaryItemType.Count" />
<DxTreeListSummaryItem FieldName="Progress" SummaryType="TreeListSummaryItemType.Avg" />
</TotalSummary>
</DxTreeList>
@code {
List<EmployeeTask> Data { get; set; }
protected override void OnInitialized() {
Data = TaskService.GenerateData();
}
void TreeList_CustomizeCellDisplayText(TreeListCustomizeCellDisplayTextEventArgs e) {
if (e.FieldName == "Progress") {
var value = (int)e.Value;
if (value == 0)
e.DisplayText = "Not started";
if (value > 0 && value <= 25)
e.DisplayText = "Started recently";
if (value > 25 && value <= 75)
e.DisplayText = "In progress";
if (value > 25 && value <= 100)
e.DisplayText = "Almost done";
if (value == 100)
e.DisplayText = "Completed";
}
}
}
Filter Data By Display Text
When the FilterMode property is set to DisplayText
, the TreeList filters rows by display text. This scenario can be useful when you specify custom display text for cells (see the DisplayFormat property and CustomizeCellDisplayText event descriptions).
The following code snippet filters Progress column data by display text:
<DxTreeList Data="@Data"
KeyFieldName="Id"
ParentKeyFieldName="ParentId"
ShowFilterRow="true"
CustomizeCellDisplayText="TreeList_CustomizeCellDisplayText">
<Columns>
<DxTreeListCommandColumn Width="200px" />
<DxTreeListDataColumn FieldName="Name" Caption="Task" Width="40%" />
<DxTreeListDataColumn FieldName="EmployeeName"
FilterRowOperatorType="TreeListFilterRowOperatorType.Contains" />
<DxTreeListDataColumn FieldName="Progress" DisplayFormat="{0}%"
FilterMode="TreeListColumnFilterMode.DisplayText"
SortOrder="TreeListColumnSortOrder.Descending" SortIndex="0" />
</Columns>
<TotalSummary>
<DxTreeListSummaryItem FieldName="Name" SummaryType="TreeListSummaryItemType.Count" />
<DxTreeListSummaryItem FieldName="Progress" SummaryType="TreeListSummaryItemType.Avg" />
</TotalSummary>
</DxTreeList>
@code {
List<EmployeeTask> Data { get; set; }
protected override void OnInitialized() {
Data = TaskService.GenerateData();
}
void TreeList_CustomizeCellDisplayText(TreeListCustomizeCellDisplayTextEventArgs e) {
if (e.FieldName == "Progress") {
var value = (int)e.Value;
if (value == 0)
e.DisplayText = "Not started";
if (value > 0 && value <= 25)
e.DisplayText = "Started recently";
if (value > 25 && value <= 75)
e.DisplayText = "In progress";
if (value > 25 && value <= 100)
e.DisplayText = "Almost done";
if (value == 100)
e.DisplayText = "Completed";
}
}
}
Limitations
The TreeList does not support filtering by display text when you use a GridDevExtremeDataSource.