diff --git a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
index 113bff315cb559da5c324a6dbffe870b0b3ca46c..290e0ff68d4ec37a090f118afc75fd8b82346fde 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
+++ b/SAS/ResourceAssignment/ResourceAssignmentEditor/lib/static/app/controllers/gridcontroller.js
@@ -332,22 +332,21 @@ $scope.columns = [
     }, true);
 
     $scope.$watch('dataService.filteredTaskChangeCntr', function() {
-        $scope.$evalAsync(fillProjectsColumFilterSelectOptions)
-        $scope.$evalAsync(fillGroupsColumFilterSelectOptions);
+        $scope.$evalAsync(function() {
+            fillStatusColumFilterSelectOptions();
+            fillTypeColumFilterSelectOptions();
+            fillProjectsColumFilterSelectOptions();
+            fillGroupsColumFilterSelectOptions();
+        });
     });
 
     $scope.$watch('dataService.initialLoadComplete', function() {
         $scope.$evalAsync(function() {
-            taskstatustypenames = $scope.dataService.taskstatustypes.map(function(x) { return x.name; });
-            fillColumFilterSelectOptions(taskstatustypenames, $scope.columns[5]);
-            $scope.columns[6].editDropdownOptionsArray = $scope.dataService.taskstatustypes.map(function(x) { return {id:x.name, value:x.name}; });
-
-            tasktypenames = $scope.dataService.tasktypes.map(function(x) { return x.name; });
-            fillColumFilterSelectOptions(tasktypenames, $scope.columns[6]);
-
-            fillColumFilterSelectOptions(['CEP2', 'CEP4'], $scope.columns[11]);
-
+            fillStatusColumFilterSelectOptions();
+            fillTypeColumFilterSelectOptions();
             fillProjectsColumFilterSelectOptions();
+            fillGroupsColumFilterSelectOptions();
+            fillColumFilterSelectOptions(['CEP2', 'CEP4'], $scope.columns[11]);
         });
     });
 
@@ -355,6 +354,12 @@ $scope.columns = [
         var projectNames = [];
         var momProjectsDict = $scope.dataService.momProjectsDict;
         var tasks = $scope.dataService.filteredTasks;
+
+        var project_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'project_name'; });
+        if(project_col && project_col.filters.length && project_col.filters[0].term) {
+            tasks = $scope.dataService.tasks;
+        }
+
         //get unique projectIds from tasks
         var task_project_ids = tasks.map(function(t) { return t.project_mom_id; });
         task_project_ids = task_project_ids.unique();
@@ -371,8 +376,45 @@ $scope.columns = [
         fillColumFilterSelectOptions(projectNames, $scope.columns[1]);
     };
 
+    function fillStatusColumFilterSelectOptions() {
+        var tasks = $scope.dataService.filteredTasks;
+
+        var status_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'status'; });
+        if(status_col && status_col.filters.length && status_col.filters[0].term) {
+            tasks = $scope.dataService.tasks;
+        }
+
+        //get unique statuses from tasks
+        var task_statuses = tasks.map(function(t) { return t.status; });
+        task_statuses = task_statuses.unique();
+
+        task_statuses.sort();
+        fillColumFilterSelectOptions(task_statuses, $scope.columns[5]);
+    };
+
+    function fillTypeColumFilterSelectOptions() {
+        var tasks = $scope.dataService.filteredTasks;
+
+        var type_col = $scope.gridApi.grid.columns.find(function(c) {return c.field == 'type'; });
+        if(type_col && type_col.filters.length && type_col.filters[0].term) {
+            tasks = $scope.dataService.tasks;
+        }
+
+        //get unique types from tasks
+        var task_types = tasks.map(function(t) { return t.type; });
+        task_types = task_types.unique();
+
+        task_types.sort();
+        fillColumFilterSelectOptions(task_types, $scope.columns[6]);
+    };
+
     function fillGroupsColumFilterSelectOptions() {
+        if($scope.columns[7].filter.term) {
+            return;
+        }
+
         var tasks = $scope.dataService.filteredTasks;
+
         //get unique groupNames from tasks
         var groupId2Name = {};
         var groupIds = [];