diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
index 8f80cdbd51a0361c529f7ca63f1d5caf0b67ac47..f33819347b8c61a8e28cf9dd843e1830fc1ac1e1 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
@@ -297,7 +297,7 @@ const IndeterminateCheckbox = React.forwardRef(
 )
 
 // Our table component
-function Table({ columns, data, defaultheader, optionalheader, defaultSortColumn }) {
+function Table({ columns, data, defaultheader, optionalheader, tablename, defaultSortColumn }) {
   const filterTypes = React.useMemo(
     () => ({
       // Add a new fuzzyTextFilterFn filter type.
@@ -369,6 +369,7 @@ function Table({ columns, data, defaultheader, optionalheader, defaultSortColumn
 
   const [currentpage, setcurrentPage] = React.useState(0);
   const [currentrows, setcurrentRows] = React.useState(10);
+  const [custompagevalue,setcustompagevalue] = React.useState();
 
   const onPagination = (e) => {
     gotoPage(e.page);
@@ -376,6 +377,37 @@ function Table({ columns, data, defaultheader, optionalheader, defaultSortColumn
     setcurrentRows(e.rows);
     setPageSize(e.rows)
   };
+  const onCustomPage = (e) => {
+    if(typeof custompagevalue === 'undefined' || custompagevalue == null) return;
+    gotoPage(0);
+    setcurrentPage(0);
+    setcurrentRows(custompagevalue);
+    setPageSize(custompagevalue)
+  };
+
+  const onChangeCustompagevalue = (e) => {
+    setcustompagevalue(e.target.value);
+  }
+  
+  const onShowAllPage = (e) => {
+    gotoPage(e.page);
+    setcurrentPage(e.first);
+    setcurrentRows(e.rows);
+    setPageSize(tbldata.length)
+    setcustompagevalue();
+  };
+
+  const onToggleChange = (e) =>{
+    let lsToggleColumns = [];
+    allColumns.forEach( acolumn =>{
+      let jsonobj = {};
+      let visible = (acolumn.Header === e.target.id) ? ((acolumn.isVisible)?false:true) :acolumn.isVisible
+      jsonobj['Header'] = acolumn.Header;
+      jsonobj['isVisible'] = visible;
+      lsToggleColumns.push(jsonobj) 
+    })
+    localStorage.setItem(tablename,JSON.stringify(lsToggleColumns))
+  }
 
   return (
     <>
@@ -494,6 +526,7 @@ function ViewTable(props) {
     let defaultheader = props.defaultcolumns;
     let optionalheader = props.optionalcolumns;
     let defaultSortColumn = props.defaultSortColumn;
+    let tablename = (props.tablename)?props.tablename:window.location.pathname;
     if(!defaultSortColumn){
       defaultSortColumn =[{}];
     }
@@ -588,7 +621,7 @@ function ViewTable(props) {
  
   return (
     <div>
-        <Table columns={columns} data={tbldata} defaultheader={defaultheader[0]} optionalheader={optionalheader[0]} 
+        <Table columns={columns} data={tbldata} defaultheader={defaultheader[0]}  tablename={tablename}  optionalheader={optionalheader[0]} 
         defaultSortColumn={defaultSortColumn} />
     </div>
   )