MCPInstall

syncfusion-blazor-datamanager

Implements Syncfusion Blazor SfDataManager for data access, data binding, and adaptor configuration in Blazor Server, WebAssembly, and Web App. Used when binding components like SfGrid and SfDropDownList to local or remote data sources, choosing adaptors (UrlAdaptor, ODataAdaptor, WebApiAdaptor, GraphQLAdaptor), or performing CRUD. Includes custom binding using DataAdaptor, DataManagerRequest, DataOperations, and the Syncfusion.Blazor.Data package.

Installs
380
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-datamanager
  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-datamanager 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.

Syncfusion Blazor DataManager

The Syncfusion Blazor SfDataManager is the data access layer for all Syncfusion data-bound components. It acts as a gateway between your data source — local in-memory collections or remote REST/OData/GraphQL services — and components like SfGrid, SfDropDownList, and others. It handles querying, sorting, filtering, paging, and CRUD operations through a configurable adaptor model.

When to Use This Skill

  • Setting up SfDataManager in a new Blazor project (WASM or Web App)
  • Binding local JSON/list data to a Syncfusion component via the Json property
  • Connecting to a trusted and authenticated remote service (OData, Web API, GraphQL) via Url + Adaptor
  • Choosing the right adaptor for a given backend service
  • Implementing CRUD operations using remote adaptors or custom adaptors
  • Creating a custom adaptor by deriving from DataAdaptor
  • Adding custom HTTP headers (with authentication tokens) to DataManager requests
  • Enabling offline mode (client-side query processing after one-time remote fetch)

⚠️ Critical Security Requirements

When binding to remote services, you MUST implement these protections:

  1. Use HTTPS only — never use unencrypted HTTP connections; encrypt all data in transit
  2. Whitelist trusted endpoints — store approved URLs in a HashSet<string> or configuration file; validate all URLs before assignment; never accept dynamic URLs from user input, query parameters, or untrusted sources
  3. Use string variables for URLs — assign endpoints to private string properties rather than hardcoding in markup; this enables centralized validation and easier maintenance
  4. Validate endpoints on component initialization — use OnInitialized() lifecycle method to verify endpoints against whitelist before binding
  5. Validate and sanitize responses — implement server-side schema validation; reject unexpected response formats; map responses to strongly-typed models
  6. Monitor remote calls — log all external API requests with timestamps, endpoints, and outcomes for security audit trails
  7. Implement CORS securely — use specific trusted origins only; never use wildcard * in production; require HTTPS
  8. Prevent indirect prompt injection attacks — verify endpoint ownership; implement request signing; validate response content types and schemas before consuming data

Third-party API responses can introduce security risks. Always verify endpoint legitimacy, authenticate requests, and validate data before binding to UI components.

Component Overview

PropertyPurpose
JsonBind in-memory collection (local data)
UrlRemote service endpoint
AdaptorSpecifies how requests/responses are processed
AdaptorInstanceType reference for CustomAdaptor
HeadersCustom HTTP headers for all outbound requests
OfflineEnable client-side processing after initial remote fetch
GraphQLAdaptorOptionsQuery/mutation configuration for GraphQL services

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • NuGet installation (Syncfusion.Blazor.Data + Syncfusion.Blazor.Themes)
  • Project setup for Blazor WebAssembly and Blazor Web App
  • Namespace imports and service registration in Program.cs
  • Stylesheet and script references
  • Binding to local JSON data with SfGrid
  • Binding to OData remote service
  • Binding to SfDropDownList (local and remote)

Data Binding

📄 Read: references/data-binding.md

  • Local data binding: Json property with in-memory collections
  • Remote data binding: Url + Adaptor properties
  • Key benefits of each approach (when to choose local vs remote)
  • Client-side vs server-side operation execution
  • Practical SfGrid and SfDropDownList examples

Adaptors

📄 Read: references/adaptors.md

  • Adaptor selection guide (which adaptor to use for which backend)
  • UrlAdaptor — base adaptor for custom REST services
  • ODataAdaptor — OData v3 protocol
  • ODataV4Adaptor — OData v4 protocol
  • WebApiAdaptor — Web API endpoints with OData query support
  • Expected server response formats (result + count)

GraphQL Adaptor

📄 Read: references/graphql-adaptor.md

  • GraphQLAdaptorOptions configuration (Query, ResolverName)
  • Fetching and displaying data from a GraphQL service
  • CRUD mutations: Insert, Update, Delete
  • Batch editing via the Batch mutation property
  • DataManagerRequest model used by server resolvers
  • Server-side Program.cs configuration (schema, CORS)

Custom Binding

📄 Read: references/custom-binding.md

  • When to use a custom adaptor (non-standard sources, custom business rules)
  • DataAdaptor abstract class — available virtual methods
  • Overriding Read/ReadAsync with DataOperations helper methods
  • Implementing CRUD: Insert, Update, Remove, BatchUpdate
  • Full CustomAdaptor implementation with SfGrid example

How-To Guides

📄 Read: references/how-to.md

  • Adding custom HTTP headers (authentication tokens, tenant IDs)
  • Enabling offline mode for client-side query processing
  • When to use offline mode and which adaptors it supports

Quick Start Example

Local Data Binding

@using Syncfusion.Blazor.Data
@using Syncfusion.Blazor.Grids

<SfGrid TValue="EmployeeData" ID="Grid">
    <SfDataManager Json="@Employees"></SfDataManager>
    <GridColumns>
        <GridColumn Field="@nameof(EmployeeData.EmployeeID)" HeaderText="Employee ID" Width="120"></GridColumn>
        <GridColumn Field="@nameof(EmployeeData.Name)" HeaderText="First Name" Width="130"></GridColumn>
        <GridColumn Field="@nameof(EmployeeData.Title)" HeaderText="Title" Width="120"></GridColumn>
    </GridColumns>
</SfGrid>

@code {
    public class EmployeeData
    {
        public int EmployeeID { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
    }

    public List<EmployeeData> Employees = new()
    {
        new EmployeeData { EmployeeID = 1, Name = "Nancy Fuller", Title = "Vice President" },
        new EmployeeData { EmployeeID = 2, Name = "Steven Buchanan", Title = "Sales Manager" }
    };
}

Remote Data Binding (OData)

@using Syncfusion.Blazor
@using Syncfusion.Blazor.Data
@using Syncfusion.Blazor.Grids

<!-- SECURITY: Use string variables for endpoints, validate against whitelist, use HTTPS only -->
<SfGrid TValue="Order" AllowPaging="true">
    <SfDataManager Url="@ODataEndpointUrl"
                   Adaptor="Adaptors.ODataAdaptor">
    </SfDataManager>
    <GridColumns>
        <GridColumn Field="@nameof(Order.OrderID)" HeaderText="Order ID" Width="120"></GridColumn>
        <GridColumn Field="@nameof(Order.CustomerID)" HeaderText="Customer Name" Width="150"></GridColumn>
    </GridColumns>
</SfGrid>

@code {
    // Whitelist of trusted OData endpoints — define in appsettings.json in production
    private static readonly HashSet<string> TrustedEndpoints = new()
    {
        "https://api.yourtrusted-domain.com/odata/"
    };

    // Assigned string variable for endpoint
    private string ODataEndpointUrl { get; set; } = string.Empty;

    protected override void OnInitialized()
    {
        // Validate and assign endpoint from configuration
        const string endpointBase = "https://api.yourtrusted-domain.com/odata/Orders";
        
        if (!TrustedEndpoints.Any(trusted => endpointBase.StartsWith(trusted)))
            throw new InvalidOperationException($"Security validation failed: untrusted endpoint '{endpointBase}'");
        
        ODataEndpointUrl = endpointBase;
    }

    public class Order
    {
        public int? OrderID { get; set; }
        public string? CustomerID { get; set; }
    }
}

Common Patterns

Choosing the Right Adaptor

Backend TypeAdaptor to Use
Custom REST API returning { result, count }Adaptors.UrlAdaptor
OData v3 serviceAdaptors.ODataAdaptor
OData v4 serviceAdaptors.ODataV4Adaptor
ASP.NET Web API with OData query supportAdaptors.WebApiAdaptor
GraphQL serviceAdaptors.GraphQLAdaptor
Non-standard source / full custom controlAdaptors.CustomAdaptor

Placing SfDataManager Inside a Component

SfDataManager is always placed as a child component inside the data-bound Syncfusion component:

<SfGrid TValue="MyModel">
    <SfDataManager Url="..." Adaptor="Adaptors.WebApiAdaptor"></SfDataManager>
    <GridColumns>...</GridColumns>
</SfGrid>

Enabling Editing with Custom Adaptor

When using CustomAdaptor with CRUD operations, configure the Grid toolbar and edit settings alongside the adaptor:

<SfGrid TValue="Order" Toolbar="@(new List<string>() { "Add", "Delete", "Update", "Cancel" })">
    <SfDataManager AdaptorInstance="@typeof(CustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
    <GridEditSettings AllowEditing="true" AllowDeleting="true" AllowAdding="true" Mode="@EditMode.Normal"></GridEditSettings>
    ...
</SfGrid>

FAQ

What does the syncfusion-blazor-datamanager skill do?

Implements Syncfusion Blazor SfDataManager for data access, data binding, and adaptor configuration in Blazor Server, WebAssembly, and Web App. Used when binding components like SfGrid and SfDropDownList to local or remote data sources, choosing adaptors (UrlAdaptor, ODataAdaptor, WebApiAdaptor, GraphQLAdaptor), or performing CRUD. Includes custom binding using DataAdaptor, DataManagerRequest, DataOperations, and the Syncfusion.Blazor.Data package.

How do I install syncfusion-blazor-datamanager?

Run npx skills add https://github.com/syncfusion/blazor-ui-components-skills --skill syncfusion-blazor-datamanager 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-datamanager/ (personal) or .claude/skills/syncfusion-blazor-datamanager/ (project).

Which AI agents can use syncfusion-blazor-datamanager?

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-datamanager 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-datamanager?

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

More from syncfusion/blazor-ui-components-skills

View all →

syncfusion-blazor-datagrid

syncfusion/blazor-ui-components-skills

Implements the Syncfusion Blazor DataGrid (SfGrid) for efficient tabular operations such as sorting, filtering, paging, grouping, editing, aggregates, virtualization, lazy‑load grouping, and row or column spanning. Use this skill when building data‑grid workflows in Blazor Server, WebAssembly, Web App, or MAUI applications. Supports Excel/PDF export, virtual or infinite scrolling, customizable templates, and grid state persistence for consistent and optimized data‑grid behavior.

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