You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HideGridColumnWhenHavingUnsuitableHeight.java 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.vaadin.v7.tests.components.grid;
  2. import com.vaadin.annotations.Theme;
  3. import com.vaadin.server.VaadinRequest;
  4. import com.vaadin.tests.components.AbstractTestUI;
  5. import com.vaadin.v7.data.Item;
  6. import com.vaadin.v7.data.util.BeanItemContainer;
  7. import com.vaadin.v7.data.util.GeneratedPropertyContainer;
  8. import com.vaadin.v7.data.util.PropertyValueGenerator;
  9. import com.vaadin.v7.ui.Grid;
  10. import com.vaadin.v7.ui.Grid.Column;
  11. import com.vaadin.v7.ui.renderers.ButtonRenderer;
  12. @Theme("valo")
  13. public class HideGridColumnWhenHavingUnsuitableHeight extends AbstractTestUI {
  14. private Grid grid;
  15. public static class SampleBean {
  16. private String col1;
  17. private String col2;
  18. public SampleBean() {
  19. }
  20. public String getCol1() {
  21. return col1;
  22. }
  23. public void setCol1(String col1) {
  24. this.col1 = col1;
  25. }
  26. public String getCol2() {
  27. return col2;
  28. }
  29. public void setCol2(String col2) {
  30. this.col2 = col2;
  31. }
  32. }
  33. @SuppressWarnings("serial")
  34. @Override
  35. protected void setup(VaadinRequest vaadinRequest) {
  36. grid = new Grid();
  37. BeanItemContainer<SampleBean> container = generateData(50);
  38. GeneratedPropertyContainer gpc = new GeneratedPropertyContainer(
  39. container);
  40. grid.setContainerDataSource(gpc);
  41. gpc.addGeneratedProperty("Button1",
  42. new PropertyValueGenerator<String>() {
  43. @Override
  44. public String getValue(Item item, Object itemId,
  45. Object propertyId) {
  46. return "Button 1";
  47. }
  48. @Override
  49. public Class<String> getType() {
  50. return String.class;
  51. }
  52. });
  53. grid.getColumn("Button1").setRenderer(new ButtonRenderer());
  54. grid.getColumn("col1").setWidth(1600);
  55. for (Column gridCol : grid.getColumns()) {
  56. gridCol.setHidable(true);
  57. }
  58. grid.setWidth("100%");
  59. grid.setHeight("425px");
  60. grid.setColumns("col1", "col2", "Button1");
  61. addComponent(grid);
  62. }
  63. private BeanItemContainer<SampleBean> generateData(int rows) {
  64. BeanItemContainer<SampleBean> container = new BeanItemContainer<SampleBean>(
  65. SampleBean.class);
  66. for (int y = 0; y < rows; ++y) {
  67. SampleBean sampleBean = new SampleBean();
  68. sampleBean.setCol1("Row " + y + " Column 1");
  69. sampleBean.setCol2("Row " + y + " Column 2");
  70. container.addBean(sampleBean);
  71. }
  72. return container;
  73. }
  74. }