public void grTableRowClicked() {
    try {
      editGR = grController.getGoodsReceipt(editGR.getId());
      selectedGRType = editGR.getGrType().getID();
      grItemList.clear();
      // grItemList.addAll(editGR.getGoodsReceiptItems());
      ArrayList<GoodsReceiptItem> grList = new ArrayList<GoodsReceiptItem>();
      grList.addAll(editGR.getGoodsReceiptItems());

      for (GoodsReceiptItem grItem : grList) {
        GoodsReceiptItem item = new GoodsReceiptItem();
        item.setBudgetExpensedAmount(grItem.getBudgetExpensedAmount());
        item.setBudgetItem(grItem.getBudgetItem());
        item.setGoodsReceipt(grItem.getGoodsReceipt());
        item.setId(grItem.getId());
        item.setItemNumber(grItem.getItemNumber());
        item.setMaterial(grItem.getMaterial());
        item.setOldReceivedQty(grItem.getReceivedQty());
        item.setOrderQty(grItem.getOrderQty());
        item.setOrderUnitPrice(grItem.getOrderUnitPrice());
        item.setOtherMaterial(grItem.getOtherMaterial());
        item.setReceivedQty(grItem.getReceivedQty());
        item.setReceiveUnit(grItem.getReceiveUnit());
        item.setStatus(grItem.getStatus());
        item.setStockMovements(grItem.getStockMovements());
        item.setStorageLocation(grItem.getStorageLocation());
        item.setUnitPrice(grItem.getUnitPrice());
        item.setTotalprice(grItem.getTotalprice());
        item.setAvgPrice(grItem.getAvgPrice());
        item.setNetPrice(grItem.getNetPrice());
        item.setDiscountAmount(grItem.getDiscountAmount());
        grItemList.add(item);
      }
      fakeItemNo = grItemList.size() + 1;
      System.out.println(editGR.getTotalPrice());
    } catch (ControllerException e) {
      FacesUtils.reportError(FacesContext.getCurrentInstance(), e.getMessage(), e.getMessage(), e);
      e.printStackTrace();
    }
  }