MCPInstall

syncfusion-blazor-dropdown-tree

Implement Syncfusion Blazor Dropdown Tree component for hierarchical data selection with single/multi-selection, checkboxes, filtering, and advanced customization. Use this skill whenever the user needs to display tree-structured data in a dropdown, select single or multiple hierarchical items, implement checkboxes for multi-item selection, filter tree data, customize templates, bind to remote data sources, or handle tree-related events and validation.

Installs
368
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-dropdown-tree
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads syncfusion-blazor-dropdown-tree automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Implementing Syncfusion Blazor Dropdown Tree Component

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.

When to Use This Skill

  • Display hierarchical data in a compact dropdown format
  • Single selection: Allow users to select one item from a tree structure (default mode)
  • Multi-selection: Enable selection of multiple tree nodes using CTRL+SHIFT shortcuts
  • Checkbox selection: Provide checkbox-based multi-selection with dependent state management
  • Filter tree data: Implement search functionality to filter nodes by text
  • Remote data sources: Bind to OData, OData V4, Web API, or custom service endpoints
  • Custom templates: Personalize item display, selected value display, and popup header
  • Handle events: Respond to lifecycle events, selection changes, popup actions
  • Form validation: Integrate with form validation frameworks
  • Styling and appearance: Apply CSS classes, disabled states, and theme customization

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and NuGet package setup
  • Web and Server app configuration
  • Basic component initialization
  • Data binding fundamentals
  • First working example

Selection and Modes

📄 Read: references/selection-and-modes.md

  • Single selection (default behavior)
  • Multi-selection with AllowMultiSelection property
  • Keyboard shortcuts (CTRL, SHIFT)
  • Preselected values and dynamic selection
  • Getting selected values with @bind-Value
  • Clearing selection

Checkbox Features

📄 Read: references/checkbox-features.md

  • ShowCheckBox property for multi-item selection
  • AutoUpdateCheckState for dependent parent-child relationships
  • ShowSelectAll for selecting/deselecting all nodes
  • SelectAllAsync and programmatic selection methods

Data Binding and Remote Data

📄 Read: references/data-binding-operations.md

  • Local data binding (hierarchical and self-referential)
  • ExpandoObject and DynamicObject binding
  • Remote data with ODataAdaptor, ODataV4Adaptor, WebApiAdaptor
  • Entity Framework integration
  • Observable collections with dynamic data updates
  • Load on Demand for large datasets
  • Adding/removing items dynamically
  • GetTreeViewData method for retrieving node information

Events and Callbacks

📄 Read: references/events-callbacks.md

  • Lifecycle events (Created, Destroyed)
  • Popup events (OnPopupOpen, OnPopupClose)
  • Selection events (ValueChanging, ValueChanged)
  • Filtering event with custom filters
  • OnActionFailure for error handling
  • Event handlers and async support

Filtering and Search

📄 Read: references/filtering-search.md

  • AllowFiltering property to enable search
  • FilterType options (StartsWith, EndsWith, Contains)
  • IgnoreCase for case-insensitive filtering
  • FilterBarPlaceholder customization
  • Minimum filter length implementation

Sorting

📄 Read: references/sorting.md

  • SortOrder property (None, Ascending, Descending)
  • Dynamic sorting updates

Templates and Customization

📄 Read: references/templates-customization.md

  • ItemTemplate for custom node rendering
  • ValueTemplate for selected value display
  • HeaderTemplate for popup header customization
  • Advanced styling and layout patterns

Styling and Appearance

📄 Read: references/styling-appearance.md

  • Disabled state configuration
  • CssClass property with predefined classes (e-success, e-warning, e-error, e-outline)
  • PopupWidth and PopupHeight customization
  • ZIndex for layer management
  • Theme support and responsive design

Form Validation and Configuration

📄 Read: references/validation-localization.md

  • Form validation integration
  • Value binding in forms
  • Localization support
  • PopupSettings configuration
  • Accessibility and placeholder settings

Quick Start Example

@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; }
    }
}

Common Patterns

Pattern 1: Multi-Selection with Checkboxes

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>

Pattern 2: Preselected Values

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" };
}

Pattern 3: Search with Filtering

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>

Pattern 4: Remote Data Binding (OData)

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();
}

Key Properties and APIs

PropertyTypeDescription
TItemGenericModel class for data items
TValueGenericType of selected value(s)
ValueList<TValue>Two-way bindable selected values
DataSourceIEnumerableLocal data source (via DropDownTreeField)
AllowMultiSelectionboolEnable multi-node selection
ShowCheckBoxboolDisplay checkboxes for selection
AutoUpdateCheckStateboolAuto-sync parent-child checkbox states
ShowSelectAllboolDisplay select/deselect all checkbox
AllowFilteringboolEnable search filtering
FilterTypeFilterTypeFilter matching strategy (StartsWith, EndsWith, Contains)
IgnoreCaseboolCase-insensitive filtering
LoadOnDemandboolLazy-load child nodes on expand
PlaceholderstringInput placeholder text
WidthstringComponent width
PopupWidthstringDropdown popup width
PopupHeightstringDropdown popup height
ZIndexintCSS z-index of popup
CssClassstringCustom CSS classes
DisabledboolDisable component interaction

Key Events

  • Created: Component initialization complete
  • Destroyed: Component destruction
  • OnPopupOpen: Popup opened after animation
  • OnPopupClose: Popup closed after animation
  • ValueChanging: Before value change (DdtChangeEventArgs<TValue>)
  • ValueChanged: After value change (List<TValue>)
  • Filtering: Search text entered (DdtFilteringEventArgs)
  • OnActionFailure: Error during data operations

Key Methods

  • SelectAllAsync(): Programmatically select all nodes
  • SelectAllAsync(false): Programmatically deselect all nodes
  • ClearAsync(): Clear all selected values
  • GetTreeViewData(id): Get node information by ID

FAQ

What does the syncfusion-blazor-dropdown-tree skill do?

Implement Syncfusion Blazor Dropdown Tree component for hierarchical data selection with single/multi-selection, checkboxes, filtering, and advanced customization. Use this skill whenever the user needs to display tree-structured data in a dropdown, select single or multiple hierarchical items, implement checkboxes for multi-item selection, filter tree data, customize templates, bind to remote data sources, or handle tree-related events and validation.

How do I install syncfusion-blazor-dropdown-tree?

Run npx skills add https://github.com/syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-dropdown-tree in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-blazor-dropdown-tree/ (personal) or .claude/skills/syncfusion-blazor-dropdown-tree/ (project).

Which AI agents can use syncfusion-blazor-dropdown-tree?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is syncfusion-blazor-dropdown-tree safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains syncfusion-blazor-dropdown-tree?

It is published by syncfusion in syncfusion/blazor-ui-components-skills. It has 368 recorded installs.

More from syncfusion/blazor-ui-components-skills

View all →

syncfusion-blazor-datagrid

syncfusion/blazor-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design442 installs

syncfusion-blazor-common

syncfusion/blazor-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design409 installs

syncfusion-blazor-dropdowns

syncfusion/blazor-ui-components-skills

Comprehensive guide for implementing Syncfusion Blazor dropdown components including AutoComplete, ComboBox, DropDown List, MultiSelect Dropdown, and ListBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, custom templates, and accessible dropdown experiences in Blazor applications. Covers all dropdown components from Syncfusion.Blazor.DropDowns package.

Frontend & Design400 installs

syncfusion-blazor-charts

syncfusion/blazor-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design394 installs

syncfusion-blazor-popups

syncfusion/blazor-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design394 installs

syncfusion-blazor-license

syncfusion/blazor-ui-components-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design386 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs