1.0.42 • Published 7 months ago
ag-grid-odata v1.0.42
Odata provider for ag-grid
Ag-Grid Server Side Row Model demo
Installation
npm install ag-grid-odata
Usage
Client mode
Features in client mode:
- Fetch records
- Sorting
- Filter
import OdataProvider from 'ag-grid-odata'
import { AgGridReact, AgGridColumn } from "@ag-grid-community/react"
import "@ag-grid-community/all-modules/dist/styles/ag-grid.css";
import "@ag-grid-community/all-modules/dist/styles/ag-theme-balham-dark.css";
const onGridReady = (params) => {
const gridApi = params.api;
gridApi.setDatasource(
new OdataProvider({
callApi: (options) =>fetch(`yourOdataUrlService/EntitySet${options}`)
.then(resp=>resp.json())
.then(resp => { return resp.data });
})
)
}
function(props) MyGrid(){
return (
<AgGridReact
rowModelType='infinite'
// fetch 100 rows per at a time
cacheBlockSize={100}
onGridReady={onGridReady}
rowGroupPanelShow='onlyWhenGrouping'
suppressDragLeaveHidesColumns
suppressMakeColumnVisibleAfterUnGroup
autoGroupColumnDef={{
pinned: 'left'
}}
defaultColDef={{
sortable: true,
resizable: true,
filterParams: {
newRowsAction: 'keep',
browserDatePicker: true
}
}}
>
<AgGridColumn
field="#"
sortable={false}
resizable={false}
width={60}
valueGetter='node.rowIndex + 1'
/>
<AgGridColumn
field="Order_ID"
headerName="Order ID"
/>
<AgGridColumn
field="Order_Invoice_Number"
headerName="Invoice Number"
/>
<AgGridColumn
enableRowGroup
field="Order_Date"
headerName="Date"
/>
<AgGridColumn
enableValue
field="Order_Shipping_Amount"
headerName="Shipping Amount"
/>
<AgGridColumn
enableValue
field="Order_Total_Amount"
headerName="Total Amount"
/>
</AgGridReact>
)
}
Server mode
Features in client mode:
- Fetch records
- Sorting
- Filter
- Grouping
- Aggregation
- Pivot
import OdataProvider from 'ag-grid-odata'
import { AgGridReact, AgGridColumn } from "@ag-grid-community/react"
import { AllModules } from "@ag-grid-enterprise/all-modules";
import "@ag-grid-community/all-modules/dist/styles/ag-grid.css";
import "@ag-grid-community/all-modules/dist/styles/ag-theme-balham-dark.css";
const onGridReady = (params) => {
const gridApi = params.api;
gridApi.setServerSideDatasource(
new OdataProvider({
callApi: (options) =>fetch(`yourOdataUrlService/EntitySet${options}`)
.then(resp=>resp.json())
.then(resp => { return resp.data });
})
)
}
function(props) MyGrid(){
return (
<AgGridReact
modules={AllModules}
//Enable server mode DataSource
rowModelType='serverSide'
// fetch 100 rows per at a time
cacheBlockSize={100}
onGridReady={onGridReady}
rowGroupPanelShow='onlyWhenGrouping'
pivotPanelShow='always'
suppressDragLeaveHidesColumns
suppressMakeColumnVisibleAfterUnGroup
autoGroupColumnDef={{
pinned: 'left'
}}
//Get Group count
getChildCount={(data) => {
return data && data.childCount;
}}
defaultColDef={{
sortable: true,
resizable: true,
enablePivot: true,
allowedAggFuncs: ['sum', 'min', 'max', 'avg', 'count'],
filterParams: {
newRowsAction: 'keep',
browserDatePicker: true
}
}}
>
<AgGridColumn
field="#"
sortable={false}
resizable={false}
width={60}
valueGetter='node.rowIndex + 1'
/>
<AgGridColumn
field="Order_ID"
headerName="Order ID"
/>
<AgGridColumn
field="Order_Invoice_Number"
headerName="Invoice Number"
/>
<AgGridColumn
enableRowGroup
field="Order_Date"
headerName="Date"
/>
<AgGridColumn
enableValue
field="Order_Shipping_Amount"
headerName="Shipping Amount"
/>
<AgGridColumn
enableValue
field="Order_Total_Amount"
headerName="Total Amount"
/>
</AgGridReact>
)
}
1.0.42
7 months ago
1.0.41
7 months ago
1.0.39
10 months ago
1.0.40
10 months ago
1.0.38
10 months ago
1.0.37
10 months ago
1.0.36
11 months ago
1.0.35
12 months ago
1.0.34
12 months ago
1.0.33
1 year ago
1.0.32
3 years ago
1.0.31
3 years ago
1.0.30
3 years ago
1.0.29
4 years ago
1.0.28
4 years ago
1.0.27
4 years ago
1.0.26
4 years ago
1.0.25
4 years ago
1.0.22
4 years ago
1.0.24
4 years ago
1.0.23
4 years ago
1.0.21
4 years ago
1.0.20
4 years ago
1.0.19
5 years ago
1.0.18
5 years ago
1.0.17
5 years ago
1.0.16
5 years ago
1.0.15
5 years ago
1.0.14
5 years ago
1.0.13
5 years ago
1.0.12
5 years ago
1.0.11
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.5
5 years ago
1.0.4
6 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago