a2n.Vista.Adapters.AgGrid 0.0.4

dotnet add package a2n.Vista.Adapters.AgGrid --version 0.0.4
                    
NuGet\Install-Package a2n.Vista.Adapters.AgGrid -Version 0.0.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="a2n.Vista.Adapters.AgGrid" Version="0.0.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="a2n.Vista.Adapters.AgGrid" Version="0.0.4" />
                    
Directory.Packages.props
<PackageReference Include="a2n.Vista.Adapters.AgGrid" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add a2n.Vista.Adapters.AgGrid --version 0.0.4
                    
#r "nuget: a2n.Vista.Adapters.AgGrid, 0.0.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package a2n.Vista.Adapters.AgGrid@0.0.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=a2n.Vista.Adapters.AgGrid&version=0.0.4
                    
Install as a Cake Addin
#tool nuget:?package=a2n.Vista.Adapters.AgGrid&version=0.0.4
                    
Install as a Cake Tool

<p align="center"> <img src="https://raw.githubusercontent.com/anwarminarso/a2n.Vista/main/assets/a2n-vista-wordmark.png" alt="a2n.Vista" width="420" /> </p>

a2n.Vista.Adapters.AgGrid

A a2n.Vista grid adapter for AG Grid (server-side row model).

Translates AG Grid's request/response shape into the neutral Vista contract:

  • POST {route}/aggrid — block paging (startRow/endRow), sortModel, and filterModel (text/number/date/set, combined AND/OR) mapped to Vista's FilterNode.
  • Quick filter — via ?q=, folded into the search channel.
  • Response — { rowData, rowCount } for AG Grid last-block detection.

Core-only (no EF/ASP.NET reference); reuses the same host glue as the other adapters. Advanced Filter is deferred for v1 (an Advanced-Filter payload is rejected loudly rather than silently dropped).

Column names: colId is the field name, not the JSON name

This is the one thing to get right when wiring a grid or calling the endpoint programmatically.

Payload Naming Example
rowData (response) camelCase — the serialized row productName, unitPrice
sortModel[].colId (request) the view's field name, PascalCase ProductName, UnitPrice
filterModel keys (request) the view's field name, PascalCase ProductName, UnitPrice

Matching is ordinal (case-sensitive) by design — a client cannot reach a field through a differently cased spelling. So productName is not a mis-spelling that "nearly works": it is an unknown field, and both channels reject it with 400 filter-unknown-field naming the offending field. Neither channel silently ignores a name it does not recognize, so a wrong name can never come back as a 200 with an unchanged row order.

In AG Grid, keep colId and field separate on each column:

const columnDefs: ColDef[] = [
  // field  = camelCase row accessor (response)   colId = PascalCase view field (sort/filter)
  { colId: 'ProductName', field: 'productName', headerName: 'Product' },
  { colId: 'UnitPrice',   field: 'unitPrice',   headerName: 'Unit price' },

  // A column with no server field behind it must opt out of sorting, or the grid will ask the
  // server to order by a field that does not exist (→ 400).
  { colId: 'actions', cellRenderer: ActionsRenderer, sortable: false, filter: false },
];

GET {route}/metadata publishes the field names, so a generated grid can derive both spellings instead of hard-coding them.

Install

dotnet add package a2n.Vista.Adapters.AgGrid

Depends on a2n.Vista.Core.

Documentation

See the project README and the adapter contract spec.

License

LGPL-3.0-or-later. See LICENSE.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.4 133 8/11/2026
0.0.3 103 8/11/2026
0.0.2 118 8/9/2026
0.0.1 146 7/31/2026
0.0.1-beta.2 80 7/15/2026
0.0.1-beta.1 75 7/15/2026