diff --git a/src/pages/GFMIS/DataGrid.js b/src/pages/GFMIS/DataGrid.js
index 3c4ca8a5..155dae60 100644
--- a/src/pages/GFMIS/DataGrid.js
+++ b/src/pages/GFMIS/DataGrid.js
@@ -53,7 +53,7 @@ export default function SearchTable({ previewSearchCriteria, onPreviewGridOnRead
id: 'paymentMethod',
field: 'paymentMethod',
headerName: 'GFMIS Payment Method',
- flex: 4,
+ flex: 2,
renderCell: (params) => {
let paymentMethod = params.row.paymentMethod;
return
{paymentMethod}
@@ -63,11 +63,27 @@ export default function SearchTable({ previewSearchCriteria, onPreviewGridOnRead
id: 'payAmount',
field: 'payAmount',
headerName: 'Amount ($)',
- flex: 5,
- valueGetter: (params) => {
+ flex: 2,
+ align: 'right',
+ headerAlign: 'right',
+ // keep the raw number as the grid value so sorting is numeric;
+ // valueFormatter is used for display only
+ valueFormatter: (params) => {
return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
+ },
+ sortComparator: (v1, v2) => {
+ const n1 = (v1 == null || isNaN(v1)) ? -Infinity : Number(v1);
+ const n2 = (v2 == null || isNaN(v2)) ? -Infinity : Number(v2);
+ return n1 - n2;
}
},
+ {
+ id: 'spare',
+ field: 'spare',
+ headerName: '',
+ flex: 4,
+ disableColumnMenu: true,
+ },
];
diff --git a/src/pages/GFMIS/TransactionDataGrid.js b/src/pages/GFMIS/TransactionDataGrid.js
index 9e6d7278..bb74d355 100644
--- a/src/pages/GFMIS/TransactionDataGrid.js
+++ b/src/pages/GFMIS/TransactionDataGrid.js
@@ -65,6 +65,14 @@ export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, a
flex: 1,
minWidth: 200,
cellClassName: 'actions',
+ // sorting/filtering uses the raw payment no. (transNo), not the link
+ valueGetter: (params) => params?.row?.transNo ?? '',
+ sortComparator: (v1, v2) => {
+ const n1 = Number(v1);
+ const n2 = Number(v2);
+ if (!isNaN(n1) && !isNaN(n2)) return n1 - n2;
+ return String(v1 ?? '').localeCompare(String(v2 ?? ''));
+ },
renderCell: (params) => {
return clickableLink('/paymentPage/details/' + params.row.id, params.row.transNo);
},
@@ -107,10 +115,26 @@ export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, a
field: 'payAmount',
headerName: 'Amount ($)',
width: 150,
- valueGetter: (params) => {
+ align: 'right',
+ headerAlign: 'right',
+ // keep the raw number as the grid value so sorting is numeric;
+ // valueFormatter is used for display only
+ valueFormatter: (params) => {
return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
+ },
+ sortComparator: (v1, v2) => {
+ const n1 = (v1 == null || isNaN(v1)) ? -Infinity : Number(v1);
+ const n2 = (v2 == null || isNaN(v2)) ? -Infinity : Number(v2);
+ return n1 - n2;
}
},
+ {
+ id: 'spare',
+ field: 'spare',
+ headerName: '',
+ width: 30,
+ disableColumnMenu: true,
+ },
];
return (