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
<PackageReference Include="a2n.Vista.Adapters.AgGrid" Version="0.0.4" />
<PackageVersion Include="a2n.Vista.Adapters.AgGrid" Version="0.0.4" />
<PackageReference Include="a2n.Vista.Adapters.AgGrid" />
paket add a2n.Vista.Adapters.AgGrid --version 0.0.4
#r "nuget: a2n.Vista.Adapters.AgGrid, 0.0.4"
#:package a2n.Vista.Adapters.AgGrid@0.0.4
#addin nuget:?package=a2n.Vista.Adapters.AgGrid&version=0.0.4
#tool nuget:?package=a2n.Vista.Adapters.AgGrid&version=0.0.4
<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, andfilterModel(text/number/date/set, combined AND/OR) mapped to Vista'sFilterNode.- 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 | Versions 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. |
-
net10.0
- a2n.Vista.Core (>= 0.0.4)
-
net8.0
- a2n.Vista.Core (>= 0.0.4)
-
net9.0
- a2n.Vista.Core (>= 0.0.4)
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 |