syncfusion-blazor-dropdown-tree — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-blazor-dropdown-tree (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The Blazor Dropdown Tree component is a hierarchical data selection control that displays tree-structured data in a dropdown popup. It supports local and remote data binding, single and multi-selection modes, checkboxes, filtering, custom templates, and comprehensive event handling.
📄 Read: references/getting-started.md
📄 Read: references/selection-and-modes.md
📄 Read: references/checkbox-features.md
📄 Read: references/data-binding-operations.md
📄 Read: references/events-callbacks.md
📄 Read: references/filtering-search.md
📄 Read: references/sorting.md
📄 Read: references/templates-customization.md
📄 Read: references/styling-appearance.md
📄 Read: references/validation-localization.md
@using Syncfusion.Blazor.Navigations
<SfDropDownTree TItem="EmployeeData" TValue="string"
Placeholder="Select an employee"
Width="500px">
<DropDownTreeField TItem="EmployeeData"
DataSource="Data"
ID="Id"
Text="Name"
HasChildren="HasChild"
ParentID="PId">
</DropDownTreeField>
</SfDropDownTree>
@code {
List<EmployeeData> Data = new List<EmployeeData>
{
new EmployeeData() { Id = "1", Name = "Steven Buchanan", Job = "General Manager", HasChild = true, Expanded = true },
new EmployeeData() { Id = "2", PId = "1", Name = "Laura Callahan", Job = "Product Manager", HasChild = true },
new EmployeeData() { Id = "3", PId = "2", Name = "Andrew Fuller", Job = "Team Lead", HasChild = true },
new EmployeeData() { Id = "4", PId = "3", Name = "Anne Dodsworth", Job = "Developer" },
};
public class EmployeeData
{
public string? Id { get; set; }
public string? Name { get; set; }
public string? Job { get; set; }
public bool HasChild { get; set; }
public bool Expanded { get; set; }
public string? PId { get; set; }
}
}Enable checkbox-based selection with automatic parent-child state management:
<SfDropDownTree TItem="EmployeeData" TValue="string"
ShowCheckBox="true"
AutoUpdateCheckState="true"
ShowSelectAll="true">
<DropDownTreeField TItem="EmployeeData" DataSource="Data"
ID="Id" Text="Name" HasChildren="HasChild" ParentID="PId">
</DropDownTreeField>
</SfDropDownTree>Set default selected nodes using @bind-Value with AllowMultiSelection:
<SfDropDownTree TItem="EmployeeData" TValue="string"
AllowMultiSelection="true"
@bind-Value="@SelectedIds">
<DropDownTreeField TItem="EmployeeData" DataSource="Data"
ID="Id" Text="Name" HasChildren="HasChild" ParentID="PId">
</DropDownTreeField>
</SfDropDownTree>
@code {
List<string> SelectedIds = new List<string>() { "1", "5" };
}Enable search functionality with custom filter types:
<SfDropDownTree TItem="EmployeeData" TValue="string"
AllowFiltering="true"
FilterType="FilterType.Contains"
FilterBarPlaceholder="Search employees...">
<DropDownTreeField TItem="EmployeeData" DataSource="Data"
ID="Id" Text="Name" HasChildren="HasChild" ParentID="PId">
</DropDownTreeField>
</SfDropDownTree>Bind to remote OData services with DataManager:
<SfDropDownTree TValue="int?" TItem="TreeData" Placeholder="Select an employee" Width="500px">
<DropDownTreeField TItem="TreeData" Query="@Query"
ID="EmployeeID" Text="FirstName" ParentID="ReportsTo" HasChildren="HasChildren">
<SfDataManager Url="url"
Adaptor="Syncfusion.Blazor.Adaptors.ODataV4Adaptor"
CrossDomain="true">
</SfDataManager>
</DropDownTreeField>
</SfDropDownTree>
@code {
public Query Query = new Query();
}| Property | Type | Description |
|---|---|---|
TItem | Generic | Model class for data items |
TValue | Generic | Type of selected value(s) |
Value | List<TValue> | Two-way bindable selected values |
DataSource | IEnumerable | Local data source (via DropDownTreeField) |
AllowMultiSelection | bool | Enable multi-node selection |
ShowCheckBox | bool | Display checkboxes for selection |
AutoUpdateCheckState | bool | Auto-sync parent-child checkbox states |
ShowSelectAll | bool | Display select/deselect all checkbox |
AllowFiltering | bool | Enable search filtering |
FilterType | FilterType | Filter matching strategy (StartsWith, EndsWith, Contains) |
IgnoreCase | bool | Case-insensitive filtering |
LoadOnDemand | bool | Lazy-load child nodes on expand |
Placeholder | string | Input placeholder text |
Width | string | Component width |
PopupWidth | string | Dropdown popup width |
PopupHeight | string | Dropdown popup height |
ZIndex | int | CSS z-index of popup |
CssClass | string | Custom CSS classes |
Disabled | bool | Disable component interaction |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.