×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Text
Posted by: sumesh tg
Added: Oct 13, 2016 9:43 AM
Views: 4
how to add context menu in tableview javafx
  1. tableName.setRowFactory(
  2.                 new Callback<TableView<CounselorDetailsBEAN>, TableRow<CounselorDetailsBEAN>>() {
  3.             @Override
  4.             public TableRow<CounselorDetailsBEAN> call(TableView<CounselorDetailsBEAN> param
  5.             ) {
  6.                 final ContextMenu contextMenu = new ContextMenu();
  7.                 final MenuItem itemOpenEnquiry = new MenuItem("Open Assesment Form");
  8.                 final MenuItem itemOpenRegistration = new MenuItem("Open Registration Form");
  9.                 final MenuItem itemForwardEnquiry = new MenuItem("Forward Enquiries");
  10.                 final MenuItem itemLockEnquiry = new MenuItem("Lock Enquiry");
  11.                 final TableRow<CounselorDetailsBEAN> row = new TableRow<CounselorDetailsBEAN>() {
  12.                     @Override
  13.                     protected void updateItem(CounselorDetailsBEAN detailsBEAN, boolean empty) {
  14.                         super.updateItem(detailsBEAN, empty);
  15.                         if (!empty) {
  16.                             if (detailsBEAN.getReadflag() != null) {
  17.                                 setTooltip(new Tooltip("Double click a cell to edit \n Press 'Enter key' to finish editing"));
  18.                                 if (detailsBEAN.getReadflag().equals("0")) {
  19.                                     getStyleClass().remove("highlightOldEnquiryRow");
  20.                                     getStyleClass().add("highlighNewEnquiryRow");
  21.  
  22.                                 } else {
  23.                                     getStyleClass().remove("highlighNewEnquiryRow");
  24.                                     getStyleClass().add("highlightOldEnquiryRow");
  25.                                 }
  26.                             } else {
  27.                                 getStyleClass().remove("highlightOldEnquiryRow");
  28.                                 getStyleClass().add("highlighNewEnquiryRow");
  29.                             }
  30.                         } else {
  31.                             getStyleClass().remove("highlighNewEnquiryRow");
  32.                             getStyleClass().add("highlightOldEnquiryRow");
  33.                             setText(null);
  34.                             setGraphic(null);
  35.                         }
  36.                     }
  37.                 };
  38.                 itemOpenEnquiry.setOnAction(new EventHandler<ActionEvent>() {
  39.                     @Override
  40.                     public void handle(ActionEvent event) {
  41.  
  42.                         try {
  43.                             /* ======================== set which assessment category ==================== */
  44.  
  45.                             switch (tabName) {
  46.                                 case "study":
  47.                                     Context.getInstance().currentProfile().setCurrentTab("study");
  48.                                     break;
  49.                                 case "work":
  50.                                     Context.getInstance().currentProfile().setCurrentTab("work");
  51.                                     break;
  52.                                 case "migration":
  53.                                     Context.getInstance().currentProfile().setCurrentTab("migration");
  54.                                     break;
  55.                                 case "training":
  56.                                     Context.getInstance().currentProfile().setCurrentTab("training");
  57.                                     break;
  58.                                 default:
  59.                                     System.out.println("Something went wrong !");
  60.                             }
  61.                             /* ======================== End set which assessment category ==================== */
  62.  
  63.                             Context.getInstance().currentProfile().setCounselorDetailsBEAN(row.getItem());
  64.                             StackPane secondaryLayout = new StackPane();
  65.                             Pane myPane = null;
  66.                             FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/zs/ina/assesment/FXMLAssesmentForm.fxml"));
  67.                             Parent root = (Parent) loader.load();
  68.                             secondaryLayout.getChildren().add(root);
  69.                             Scene secondScene = new Scene(secondaryLayout);
  70.                             Stage secondStage = new Stage();
  71.                             secondStage.setTitle("Assessment form of " + row.getItem().getContactName());
  72.                             secondStage.getIcons().add(new Image(INALoginForm.class.getResourceAsStream("images/ia_logo.png")));
  73.                             secondStage.setScene(secondScene);
  74.                             secondStage.getIcons().add(new Image(INALoginForm.class.getResourceAsStream("images/ia_logo.png")));
  75.                             secondStage.setOnHidden(new EventHandler<WindowEvent>() {
  76.  
  77.                                 @Override
  78.                                 public void handle(WindowEvent event) {
  79.                                     DBPool.getInstance().CloseConnections();
  80.                                     resetAll();
  81.                                 }
  82.                             });
  83.                             //        stageAppointment.initStyle(StageStyle.UNDECORATED);
  84.                             secondStage.setMaximized(true);
  85.                             secondStage.initModality(Modality.APPLICATION_MODAL);
  86.                             secondStage.initOwner(btnSearchSubmit.getScene().getWindow());
  87.                             secondStage.show();
  88.                         } catch (IOException ex) {
  89.                             ex.printStackTrace();
  90.                             logger.error(ex.toString());
  91.                         }
  92.  
  93.                     }
  94.                 });
  95.                 /* ======================== Open Registration Form ==================== */
  96.                 itemOpenRegistration.setOnAction(new EventHandler<ActionEvent>() {
  97.                     @Override
  98.                     public void handle(ActionEvent event) {
  99.  
  100.                         try {
  101.                             /* ======================== set which assessment category ==================== */
  102.  
  103.                             switch (tabName) {
  104.                                 case "study":
  105.                                     Context.getInstance().currentProfile().setCurrentTab("study");
  106.                                     break;
  107.                                 case "work":
  108.                                     Context.getInstance().currentProfile().setCurrentTab("work");
  109.                                     break;
  110.                                 case "migration":
  111.                                     Context.getInstance().currentProfile().setCurrentTab("migration");
  112.                                     break;
  113.                                 case "training":
  114.                                     Context.getInstance().currentProfile().setCurrentTab("training");
  115.                                     break;
  116.                                 default:
  117.                                     System.out.println("Something went wrong !");
  118.                             }
  119.                             /* ======================== End set which assessment category ==================== */
  120.  
  121.                             Context.getInstance().currentProfile().setCounselorDetailsBEAN(row.getItem());
  122.                             StackPane secondaryLayout = new StackPane();
  123.                             FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/zs/ina/registration/FXMLRegistrationForm.fxml"));
  124.                             Parent root = (Parent) loader.load();
  125.                             secondaryLayout.getChildren().add(root);
  126.                             Scene secondScene = new Scene(secondaryLayout);
  127.                             Stage secondStage = new Stage();
  128.                             secondStage.setTitle("Registration form of " + row.getItem().getContactName());
  129.                             secondStage.getIcons().add(new Image(INALoginForm.class.getResourceAsStream("images/ia_logo.png")));
  130.                             secondStage.setScene(secondScene);
  131.                             secondStage.getIcons().add(new Image(INALoginForm.class.getResourceAsStream("images/ia_logo.png")));
  132.                             secondStage.setOnHidden(new EventHandler<WindowEvent>() {
  133.  
  134.                                 @Override
  135.                                 public void handle(WindowEvent event) {
  136.                                     DBPool.getInstance().CloseConnections();
  137.                                     resetAll();
  138.                                 }
  139.                             });
  140.                             //        stageAppointment.initStyle(StageStyle.UNDECORATED);
  141.                             secondStage.setMaximized(true);
  142.                             secondStage.initModality(Modality.APPLICATION_MODAL);
  143.                             secondStage.initOwner(btnSearchSubmit.getScene().getWindow());
  144.                             secondStage.show();
  145.                         } catch (IOException ex) {
  146.                             ex.printStackTrace();
  147.                             logger.error(ex.toString());
  148.                         }
  149.  
  150.                     }
  151.                 });
  152.                 /* ======================== Forward Enquiry ==================== */
  153.                 itemForwardEnquiry.setOnAction(new EventHandler<ActionEvent>() {
  154.                     @Override
  155.                     public void handle(ActionEvent event) {
  156.  
  157.                         Pane myPane = new Pane();
  158.                         FXMLLoader loader = new FXMLLoader(getClass().getResource("/com/zs/ina/admin/inbox/forward/FXMLForward.fxml"));
  159.                         try {
  160.                             Parent root = (Parent) loader.load();
  161.                             // System.out.println(loader.getController());
  162.                             FXMLForwardController controller = (FXMLForwardController) loader.getController();
  163.                             if (listCheckedEnquiries.size() > 0) {
  164.                                 controller.forwardMultipleEnquiries(listCheckedEnquiries, popForward, tableName, CUR_ROLE);
  165.                             } else {
  166.                                 controller.initData(row.getItem(), popForward);
  167.                             }
  168.                             myPane.getChildren().add(root);
  169.                             popForward.setContentNode(myPane);
  170.                             popForward.setArrowLocation(PopOver.ArrowLocation.RIGHT_TOP);
  171.                             popForward.setAnchorLocation(PopupWindow.AnchorLocation.WINDOW_TOP_LEFT);
  172.                             popForward.setArrowSize(12.0);
  173.                             popForward.setHideOnEscape(true);
  174.                             popForward.setAutoFix(true);
  175.                             popForward.setAutoHide(true);
  176.                             popForward.setTitle("Forward Enquiry Of " + row.getItem().getContactName());
  177. //                            popForward.setOnAutoHide(new EventHandler<Event>() {
  178. //
  179. //                                @Override
  180. //                                public void handle(Event event) {
  181. //                                    tableName.getColumns().get(0).setVisible(false);
  182. //                                    tableName.getColumns().get(0).setVisible(true);
  183. //                                    refreshPriorityCell(clmTabPriority);
  184. ////                                    Event.fireEvent(lblMonth, new MouseEvent(MouseEvent.MOUSE_CLICKED, 0,
  185. ////                                            0, 0, 0, MouseButton.PRIMARY, 1, true, true, true, true,
  186. ////                                            true, true, true, true, true, true, null));
  187. //                                }
  188. //                            });
  189.                             popForward.setOnHidden(new EventHandler<WindowEvent>() {
  190.  
  191.                                 @Override
  192.                                 public void handle(WindowEvent event) {
  193.                                     reloadTableWithProgress(Context.getInstance().currentProfile().getInboxCountsBEAN());
  194.                                     int c = 0;
  195.                                     for (TableColumn column : tableName.getColumns()) {
  196.                                         c++;
  197.                                         if (c == 2) {
  198.                                             refreshPriorityCell(column);
  199.                                         }
  200.                                         if (c == 3) {
  201.                                             refreshFlagyCell(column);
  202.                                         }
  203.                                     }
  204.                                     if (serviceHyperLinkCounts != null) {
  205.                                         if (!serviceHyperLinkCounts.isRunning()) {
  206.                                             serviceHyperLinkCounts.reset();
  207.                                             serviceHyperLinkCounts.restart();
  208.                                         }
  209.                                     } else {
  210.                                         serviceHyperLinkCounts.start();
  211.                                     }
  212.  
  213.                                     /* ======================== Refresh All Data To Common Pool ==================== */
  214.  /* ======================== Fires MousEvent Of lblToday ==================== */
  215. //                                            Event.fireEvent(hyperCommonPool, new MouseEvent(MouseEvent.MOUSE_CLICKED, 0,
  216. //                                                            0, 0, 0, MouseButton.PRIMARY, 1, true, true, true, true,
  217. //                                                            true, true, true, true, true, true, null));
  218.                                     listCheckedEnquiries.clear();
  219.                                 }
  220.                             });
  221.  
  222.                         } catch (IOException exception) {
  223.                             exception.printStackTrace();
  224.                             logger.error(exception.toString());
  225.                         }
  226.                         if (popForward.isShowing()) {
  227.                             popForward.hide();
  228.                             popForward.show(row, row.localToScreen(0, 0).getX() - 6, row.localToScreen(0, 0).getY() + 30, Duration.millis(100));
  229.  
  230.                         } else {
  231.                             popForward.show(row, row.localToScreen(0, 0).getX() - 6, row.localToScreen(0, 0).getY() + 30, Duration.millis(500));
  232.                         }
  233.                     }
  234.                 });
  235.                 /* ======================== Add To Commom Pool ==================== */
  236.                 itemLockEnquiry.setOnAction(new EventHandler<ActionEvent>() {
  237.                     @Override
  238.                     public void handle(ActionEvent event) {
  239.                         Map<String, String> mapCommonPoolConfig = CommonPoolService.retrieveCommonPoolConfig(CUR_USERNAME, CUR_BRANCH, CUR_ROLE);
  240.                         Map<String, String> mapFlagEnquiryStatus = CommonPoolService.checkFlagEnquiryStatus(CUR_USERNAME, CUR_BRANCH, CUR_ROLE);
  241.                         long flagLimitConfig = Long.parseLong(mapCommonPoolConfig.get("flag_limit"));
  242.                         long flagLimitStatus = Long.parseLong(mapFlagEnquiryStatus.get("flag_limit"));
  243.                         long enquiryLimitConfig = Long.parseLong(mapCommonPoolConfig.get("enquiry_limit"));
  244.                         long enquiryLimitStatus = Long.parseLong(mapFlagEnquiryStatus.get("enquiry_limit"));
  245. //                        if (flagLimitConfig == 0 || flagLimitConfig < enquiryLimitConfig) {
  246. //                            System.out.println("User can flag");
  247. //                        }
  248.                         if (enquiryLimitConfig == 0 || enquiryLimitStatus < enquiryLimitConfig) {
  249.                             if (CommonPoolService.verifyEnquiryLocking(CUR_USERNAME, CUR_BRANCH, row.getItem().getEnquiryID())) {
  250.                                 int done = CommonPoolService.lockEnquiry(CUR_USERNAME, CUR_BRANCH, CUR_ROLE, row.getItem());
  251.                                 if (done > 0) {
  252.                                     /* ======================== Add History Row For Self Assign ==================== */
  253.                                     ForwardHistoryPOJO historyPOJO = new ForwardHistoryPOJO();
  254.                                     historyPOJO.setHid("his_" + UiiDGenerator.getUIID8());
  255.                                     historyPOJO.setAssigned_branch(CUR_BRANCH);
  256.                                     historyPOJO.setAssigned_by("Self Assigned");
  257.                                     historyPOJO.setAssigned_date(new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()).toString());
  258.                                     historyPOJO.setEnquiry_id(row.getItem().getEnquiryID());
  259.                                     historyPOJO.setAssigned_to(CUR_USERNAME);
  260. //                                    row.getItem().setEnquiryAssignedTo(CUR_USERNAME);
  261.                                     historyPOJO.setAssigned_to_branch(CUR_BRANCH);
  262.                                     historyPOJO.setHolded_by(row.getItem().getEnquiryAssignedTo());
  263.                                     historyPOJO.setPurpose(row.getItem().getReference());
  264.                                     historyPOJO.setRemarks(row.getItem().getRemarks());
  265.                                     if (row.getItem().getStatus() != null) {
  266.                                         historyPOJO.setCurrent_status(row.getItem().getStatus());
  267.                                     } else {
  268.                                         historyPOJO.setCurrent_status("Assessment Pending");
  269.                                     }
  270.                                     historyPOJO.setCompletionFlag(row.getItem().getCompletionflag());
  271.                                     historyPOJO.setStudy_required(row.getItem().getStudyRequired());
  272.                                     historyPOJO.setWork_required(row.getItem().getWorkRequired());
  273.                                     historyPOJO.setMigration_required(row.getItem().getMigrationRequired());
  274.                                     historyPOJO.setTraining_required(row.getItem().getTrainingRequired());
  275.                                     forwardHistoryDAO.forwardEnquiry(historyPOJO);
  276.                                 }
  277.                                 int index = row.indexProperty().get();
  278.                                 row.getStyleClass().remove("highlighNewEnquiryRow");
  279.                                 row.getStyleClass().add("highlightOldEnquiryRow");
  280.                                 row.setGraphic(new Label("This enquiry has been moved to your inbox"));
  281.                                 EffectsClass.blinkingAndFading(row);
  282.                                 PauseTransition delay = new PauseTransition(Duration.seconds(3.5));
  283.                                 delay.setOnFinished((ActionEvent event1) -> {
  284.                                     /* ======================== Refresh Table ==================== */
  285.                                     tableName.getItems().remove(index);
  286.                                     int c = 0;
  287.                                     for (TableColumn column : tableName.getColumns()) {
  288.                                         c++;
  289.                                         if (c == 2) {
  290.                                             refreshPriorityCell(column);
  291.                                         }
  292.                                         if (c == 3) {
  293.                                             //    refreshFlagyCell(column);
  294.                                         }
  295.                                     }
  296.  
  297.                                 });
  298.                                 delay.play();
  299.                                 if (serviceHyperLinkCounts != null) {
  300.                                     if (!serviceHyperLinkCounts.isRunning()) {
  301.                                         serviceHyperLinkCounts.reset();
  302.                                         serviceHyperLinkCounts.restart();
  303.                                     }
  304.                                 } else {
  305.                                     serviceHyperLinkCounts.start();
  306.                                 }
  307.                             } else {
  308.                                 /* ======================== Remove Already Locked Enquiry ==================== */
  309.                                 int index = row.indexProperty().get();
  310.                                 tableName.getItems().remove(index);
  311.                                 int c = 0;
  312.                                 for (TableColumn column : tableName.getColumns()) {
  313.                                     c++;
  314.                                     if (c == 2) {
  315.                                         refreshPriorityCell(column);
  316.                                     }
  317.                                     if (c == 3) {
  318.                                         //    refreshFlagyCell(column);
  319.                                     }
  320.                                 }
  321.                                 Notification notification = Notifications.WARNING;
  322.                                 TrayNotification tray = new TrayNotification("Already locked !", "This enquiry locked! Please refresh to see latest enquiries !", notification);
  323.                                 tray.setAnimation(Animations.POPUP);
  324.                                 tray.showAndDismiss(Duration.seconds(3), btnSearchSubmit);
  325.                                 tray.setOnDismiss(new EventHandler<ActionEvent>() {
  326.  
  327.                                     @Override
  328.                                     public void handle(ActionEvent event) {
  329.                                         int c = 0;
  330.                                         for (TableColumn column : tableName.getColumns()) {
  331.                                             c++;
  332.                                             if (c == 2) {
  333.                                                 refreshPriorityCell(column);
  334.                                             }
  335.                                             if (c == 3) {
  336.                                                 //    refreshFlagyCell(column);
  337.                                             }
  338.                                         }
  339.                                     }
  340.                                 });
  341.                             }/* ======================== End verify locking ==================== */
  342.  
  343.                         } else {
  344.                             showPopupMessages.showWarning("Your pending enquiry limit reached !", "Please complete all pending enquiries !", row);
  345.                         }
  346.  
  347.                         /* ======================== Refresh All Columns ==================== */
  348. //                        int c = 0;
  349. //                        for (TableColumn column : tableName.getColumns()) {
  350. //                            c++;
  351. //                            if (c == 2) {
  352. //                                refreshPriorityCell(column);
  353. //                            }
  354. //                            if (c == 3) {
  355. //                                refreshFlagyCell(column);
  356. //                            }
  357. //                        }
  358.                     }
  359.                 });
  360.                 if (IS_COMMON_POOL) {
  361.                     contextMenu.getItems().addAll(itemLockEnquiry);
  362.                     row.setOnMouseClicked(new EventHandler<MouseEvent>() {
  363.                         @Override
  364.                         public void handle(MouseEvent event) {
  365.                             if (event.getButton().equals(MouseButton.PRIMARY)) {
  366.                                 if (event.getClickCount() == 2) {
  367.                                     Map<String, String> mapCommonPoolConfig = CommonPoolService.retrieveCommonPoolConfig(CUR_USERNAME, CUR_BRANCH, CUR_ROLE);
  368.                                     Map<String, String> mapFlagEnquiryStatus = CommonPoolService.checkFlagEnquiryStatus(CUR_USERNAME, CUR_BRANCH, CUR_ROLE);
  369.                                     long flagLimitConfig = Long.parseLong(mapCommonPoolConfig.get("flag_limit"));
  370.                                     long flagLimitStatus = Long.parseLong(mapFlagEnquiryStatus.get("flag_limit"));
  371.                                     long enquiryLimitConfig = Long.parseLong(mapCommonPoolConfig.get("enquiry_limit"));
  372.                                     long enquiryLimitStatus = Long.parseLong(mapFlagEnquiryStatus.get("enquiry_limit"));
  373. //                        if (flagLimitConfig == 0 || flagLimitConfig < enquiryLimitConfig) {
  374. //                            System.out.println("User can flag");
  375. //                        }
  376.                                     if (enquiryLimitConfig == 0 || enquiryLimitStatus < enquiryLimitConfig) {
  377.                                         if (CommonPoolService.verifyEnquiryLocking(CUR_USERNAME, CUR_BRANCH, row.getItem().getEnquiryID())) {
  378.                                             int done = CommonPoolService.lockEnquiry(CUR_USERNAME, CUR_BRANCH, CUR_ROLE, row.getItem());
  379.                                             if (done > 0) {
  380.                                                 /* ======================== Add History Row For Self Assign ==================== */
  381.                                                 ForwardHistoryPOJO historyPOJO = new ForwardHistoryPOJO();
  382.                                                 historyPOJO.setHid("his_" + UiiDGenerator.getUIID8());
  383.                                                 historyPOJO.setAssigned_branch(CUR_BRANCH);
  384.                                                 historyPOJO.setAssigned_by("Self Assigned");
  385.                                                 historyPOJO.setAssigned_date(new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()).toString());
  386.                                                 historyPOJO.setEnquiry_id(row.getItem().getEnquiryID());
  387.                                                 historyPOJO.setAssigned_to(CUR_USERNAME);
  388. //                                    row.getItem().setEnquiryAssignedTo(CUR_USERNAME);
  389.                                                 historyPOJO.setAssigned_to_branch(CUR_BRANCH);
  390.                                                 historyPOJO.setHolded_by(row.getItem().getEnquiryAssignedTo());
  391.                                                 historyPOJO.setPurpose(row.getItem().getReference());
  392.                                                 historyPOJO.setRemarks(row.getItem().getRemarks());
  393.                                                 if (row.getItem().getStatus() != null) {
  394.                                                     historyPOJO.setCurrent_status(row.getItem().getStatus());
  395.                                                 } else {
  396.                                                     historyPOJO.setCurrent_status("Assessment Pending");
  397.                                                 }
  398.                                                 historyPOJO.setCompletionFlag(row.getItem().getCompletionflag());
  399.                                                 historyPOJO.setStudy_required(row.getItem().getStudyRequired());
  400.                                                 historyPOJO.setWork_required(row.getItem().getWorkRequired());
  401.                                                 historyPOJO.setMigration_required(row.getItem().getMigrationRequired());
  402.                                                 historyPOJO.setTraining_required(row.getItem().getTrainingRequired());
  403.                                                 forwardHistoryDAO.forwardEnquiry(historyPOJO);
  404.                                             }
  405.                                             int index = row.indexProperty().get();
  406.                                             row.getStyleClass().remove("highlighNewEnquiryRow");
  407.                                             row.getStyleClass().add("highlightOldEnquiryRow");
  408.                                             row.setGraphic(new Label("This enquiry has been moved to your inbox"));
  409.                                             EffectsClass.blinkingAndFading(row);
  410.                                             PauseTransition delay = new PauseTransition(Duration.seconds(3.5));
  411.                                             delay.setOnFinished((ActionEvent event1) -> {
  412.                                                 /* ======================== Refresh Table ==================== */
  413.                                                 try {
  414.                                                     tableName.getItems().remove(index);
  415.                                                 } catch (IndexOutOfBoundsException e) {
  416.                                                     System.out.println("Exception Occured While removing row !!!!!!!!!!!!!!!");
  417.                                                 }
  418.                                                 int c = 0;
  419.                                                 for (TableColumn column : tableName.getColumns()) {
  420.                                                     c++;
  421.                                                     if (c == 2) {
  422.                                                         refreshPriorityCell(column);
  423.                                                     }
  424.                                                     if (c == 3) {
  425.                                                         //    refreshFlagyCell(column);
  426.                                                     }
  427.                                                 }
  428.  
  429.                                             });
  430.                                             delay.play();
  431.                                             if (serviceHyperLinkCounts != null) {
  432.                                                 if (!serviceHyperLinkCounts.isRunning()) {
  433.                                                     serviceHyperLinkCounts.reset();
  434.                                                     serviceHyperLinkCounts.restart();
  435.                                                 }
  436.                                             } else {
  437.                                                 serviceHyperLinkCounts.start();
  438.                                             }
  439.                                         } else {
  440.                                             /* ======================== Remove Already Locked Enquiry ==================== */
  441.                                             int index = row.indexProperty().get();
  442.                                             tableName.getItems().remove(index);
  443.                                             int c = 0;
  444.                                             for (TableColumn column : tableName.getColumns()) {
  445.                                                 c++;
  446.                                                 if (c == 2) {
  447.                                                     refreshPriorityCell(column);
  448.                                                 }
  449.                                                 if (c == 3) {
  450.                                                     //    refreshFlagyCell(column);
  451.                                                 }
  452.                                             }
  453.                                             Notification notification = Notifications.WARNING;
  454.                                             TrayNotification tray = new TrayNotification("Already locked !", "This enquiry locked! Please refresh to see latest enquiries !", notification);
  455.                                             tray.setAnimation(Animations.POPUP);
  456.                                             tray.showAndDismiss(Duration.seconds(3), btnSearchSubmit);
  457.                                             tray.setOnDismiss(new EventHandler<ActionEvent>() {
  458.  
  459.                                                 @Override
  460.                                                 public void handle(ActionEvent event) {
  461.                                                     int c = 0;
  462.                                                     for (TableColumn column : tableName.getColumns()) {
  463.                                                         c++;
  464.                                                         if (c == 2) {
  465.                                                             refreshPriorityCell(column);
  466.                                                         }
  467.                                                         if (c == 3) {
  468.                                                             //    refreshFlagyCell(column);
  469.                                                         }
  470.                                                     }
  471.                                                 }
  472.                                             });
  473.                                         }/* ======================== End verify locking ==================== */
  474.  
  475.                                     } else {
  476.                                         showPopupMessages.showWarning("Your pending enquiry limit reached !", "Please complete all pending enquiries !", row);
  477.                                     }
  478.  
  479.                                     /* ======================== Refresh All Columns ==================== */
  480. //                        int c = 0;
  481. //                        for (TableColumn column : tableName.getColumns()) {
  482. //                            c++;
  483. //                            if (c == 2) {
  484. //                                refreshPriorityCell(column);
  485. //                            }
  486. //                            if (c == 3) {
  487. //                                refreshFlagyCell(column);
  488. //                            }
  489. //                        }
  490.                                 }
  491.                             }
  492.                         }
  493.                     });
  494.                 } else {
  495.                     contextMenu.getItems().addAll(itemOpenEnquiry, itemForwardEnquiry, itemOpenRegistration);
  496.                 }
  497.                 row.contextMenuProperty().bind(
  498.                         Bindings.when(row.emptyProperty())
  499.                         .then((ContextMenu) null)
  500.                         .otherwise(contextMenu));
  501.                 return row;
  502.             }
  503.         }
  504.         );