Examples of StudentFooterProperty


Examples of com.google.gwt.gen2.demo.scrolltable.client.StudentColumnDefinition.StudentFooterProperty

          rowValue.setAge(cellValue);
        }
      };

      // Dynamic footer provides range of ages
      StudentFooterProperty prop = new StudentFooterProperty() {
        @Override
        public Object getFooter(int row, int column) {
          if (row == 1) {
            int min = -1;
            int max = -1;
            int rowCount = pagingScrollTable.getDataTable().getRowCount();
            for (int i = 0; i < rowCount; i++) {
              int age = pagingScrollTable.getRowValue(i).getAge();
              if (min == -1) {
                min = age;
                max = age;
              } else {
                min = Math.min(min, age);
                max = Math.max(max, age);
              }
            }
            return min + "-" + max;
          }
          return super.getFooter(row, column);
        }
      };
      prop.setFooterCount(2);
      prop.setDynamic(true);
      columnDef.setColumnProperty(FooterProperty.TYPE, prop);

      columnDef.setCellRenderer(intCellRenderer);
      columnDef.setMinimumColumnWidth(35);
      columnDef.setPreferredColumnWidth(35);
      columnDef.setMaximumColumnWidth(35);
      columnDef.setColumnSortable(true);
      tableDefinition.addColumnDefinition(columnDef);
    }

    // Gender
    {
      StudentColumnDefinition<Boolean> columnDef = new StudentColumnDefinition<Boolean>(
          "Gender", Group.GENERAL) {
        @Override
        public Boolean getCellValue(Student rowValue) {
          return rowValue.isMale();
        }

        @Override
        public void setCellValue(Student rowValue, Boolean cellValue) {
          rowValue.setMale(cellValue);
        }
      };
      columnDef.setCellRenderer(new CellRenderer<Student, Boolean>() {
        public void renderRowValue(Student rowValue,
            ColumnDefinition<Student, Boolean> columnDef,
            AbstractCellView<Student> view) {
          if (rowValue.isMale()) {
            view.setHTML("male");
          } else {
            view.setHTML("female");
          }
        }
      });
      columnDef.setMinimumColumnWidth(45);
      columnDef.setPreferredColumnWidth(45);
      columnDef.setMaximumColumnWidth(45);
      columnDef.setColumnSortable(true);
      tableDefinition.addColumnDefinition(columnDef);

      // Setup the cellEditor
      RadioCellEditor<Boolean> cellEditor = new RadioCellEditor<Boolean>();
      cellEditor.setLabel("Select a gender:");
      cellEditor.addRadioButton(new RadioButton("editorGender", "male"), true);
      cellEditor.addRadioButton(new RadioButton("editorGender", "female"),
          false);
      columnDef.setCellEditor(cellEditor);
    }

    // Race
    {
      StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>(
          "Race", Group.GENERAL) {
        @Override
        public String getCellValue(Student rowValue) {
          return rowValue.getRace();
        }

        @Override
        public void setCellValue(Student rowValue, String cellValue) {
          rowValue.setRace(cellValue);
        }
      };
      columnDef.setMinimumColumnWidth(45);
      columnDef.setPreferredColumnWidth(55);
      columnDef.setMaximumColumnWidth(70);
      columnDef.setColumnSortable(true);
      tableDefinition.addColumnDefinition(columnDef);

      // Setup the cell editor
      ListCellEditor<String> cellEditor = new ListCellEditor<String>();
      for (int i = 0; i < StudentGenerator.races.length; i++) {
        String race = StudentGenerator.races[i];
        cellEditor.addItem(race, race);
      }
      columnDef.setCellEditor(cellEditor);
    }

    // Favorite color
    {
      StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>(
          "Favorite Color", null) {
        @Override
        public String getCellValue(Student rowValue) {
          return rowValue.getFavoriteColor();
        }

        @Override
        public void setCellValue(Student rowValue, String cellValue) {
          rowValue.setFavoriteColor(cellValue);
        }
      };
      columnDef.setCellRenderer(new CellRenderer<Student, String>() {
        public void renderRowValue(Student rowValue,
            ColumnDefinition<Student, String> columnDef,
            AbstractCellView<Student> view) {
          String color = rowValue.getFavoriteColor();
          view.setStyleAttribute("color", color);
          view.setHTML(color);
        }
      });
      columnDef.setPreferredColumnWidth(80);
      columnDef.setColumnSortable(true);
      columnDef.setHeaderTruncatable(false);
      tableDefinition.addColumnDefinition(columnDef);

      // Setup the cell editor
      RadioCellEditor<String> cellEditor = new RadioCellEditor<String>();
      cellEditor.setLabel("Select a color:");
      for (int i = 0; i < StudentGenerator.colors.length; i++) {
        String color = StudentGenerator.colors[i];
        String text = "<FONT color=\"" + color + "\">" + color + "</FONT>";
        cellEditor.addRadioButton(new RadioButton("editorColor", text, true),
            color);
      }
      columnDef.setCellEditor(cellEditor);
    }

    // Favorite Sport
    {
      StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>(
          "Preferred Sport", null) {
        @Override
        public String getCellValue(Student rowValue) {
          return rowValue.getFavoriteSport();
        }

        @Override
        public void setCellValue(Student rowValue, String cellValue) {
          rowValue.setFavoriteSport(cellValue);
        }
      };
      columnDef.setPreferredColumnWidth(110);
      columnDef.setColumnSortable(true);
      tableDefinition.addColumnDefinition(columnDef);

      // Setup the cell editor
      ListCellEditor<String> cellEditor = new ListCellEditor<String>();
      cellEditor.setLabel("Select a sport:");
      for (int i = 0; i < StudentGenerator.sports.length; i++) {
        String sport = StudentGenerator.sports[i];
        cellEditor.addItem(sport, sport);
      }
      columnDef.setCellEditor(cellEditor);
    }

    // College
    {
      StudentColumnDefinition<String> columnDef = new StudentColumnDefinition<String>(
          "College", Group.SCHOOL) {
        @Override
        public String getCellValue(Student rowValue) {
          return rowValue.getCollege();
        }

        @Override
        public void setCellValue(Student rowValue, String cellValue) {
          rowValue.setCollege(cellValue);
        }
      };
      columnDef.setMinimumColumnWidth(50);
      columnDef.setPreferredColumnWidth(180);
      columnDef.setMaximumColumnWidth(250);
      columnDef.setColumnSortable(true);
      columnDef.setColumnTruncatable(false);
      tableDefinition.addColumnDefinition(columnDef);

      // Setup the cell editor
      TextCellEditor cellEditor = new TextCellEditor() {
        @Override
        public boolean onAccept() {
          if (getValue().equals("")) {
            Window.alert("You must enter a school");
            return false;
          }
          return true;
        }

        @Override
        protected int getOffsetLeft() {
          return -8;
        }

        @Override
        protected int getOffsetTop() {
          return -10;
        }
      };
      columnDef.setCellEditor(cellEditor);
    }

    // Graduation year
    {
      StudentColumnDefinition<Integer> columnDef = new StudentColumnDefinition<Integer>(
          "Year", Group.SCHOOL) {
        @Override
        public Integer getCellValue(Student rowValue) {
          return rowValue.getGraduationYear();
        }

        @Override
        public void setCellValue(Student rowValue, Integer cellValue) {
          rowValue.setGraduationYear(cellValue);
        }
      };

      // Dynamic footer provides range of ages
      StudentFooterProperty prop = new StudentFooterProperty() {
        @Override
        public Object getFooter(int row, int column) {
          if (row == 1) {
            int min = -1;
            int max = -1;
            int rowCount = pagingScrollTable.getDataTable().getRowCount();
            for (int i = 0; i < rowCount; i++) {
              int year = pagingScrollTable.getRowValue(i).getGraduationYear();
              if (min == -1) {
                min = year;
                max = year;
              } else {
                min = Math.min(min, year);
                max = Math.max(max, year);
              }
            }
            return min + "-" + max;
          }
          return super.getFooter(row, column);
        }
      };
      prop.setFooterCount(2);
      prop.setDynamic(true);
      columnDef.setColumnProperty(FooterProperty.TYPE, prop);

      columnDef.setCellRenderer(intCellRenderer);
      columnDef.setPreferredColumnWidth(35);
      columnDef.setMinimumColumnWidth(35);
      columnDef.setMaximumColumnWidth(35);
      columnDef.setColumnSortable(true);
      columnDef.setColumnTruncatable(false);
      tableDefinition.addColumnDefinition(columnDef);
    }

    // GPA
    {
      StudentColumnDefinition<Double> columnDef = new StudentColumnDefinition<Double>(
          "GPA", Group.SCHOOL) {
        @Override
        public Double getCellValue(Student rowValue) {
          return rowValue.getGpa();
        }

        @Override
        public void setCellValue(Student rowValue, Double cellValue) {
          rowValue.setGpa(cellValue);
        }
      };

      // Dynamic footer provides average GPA
      StudentFooterProperty prop = new StudentFooterProperty() {
        @Override
        public Object getFooter(int row, int column) {
          if (row == 1) {
            double avg = 0;
            int rowCount = pagingScrollTable.getDataTable().getRowCount();
            for (int i = 0; i < rowCount; i++) {
              avg += pagingScrollTable.getRowValue(i).getGpa();
            }
            avg /= rowCount;
            return gpaToString(avg);
          }
          return super.getFooter(row, column);
        }
      };
      prop.setFooterCount(2);
      prop.setDynamic(true);
      columnDef.setColumnProperty(FooterProperty.TYPE, prop);

      // Custom renderer uses background colors based on GPA
      columnDef.setCellRenderer(new CellRenderer<Student, Double>() {
        public void renderRowValue(Student rowValue,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.