Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

GridDetailsLayoutExpand.java 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.vaadin.tests.components.grid;
  2. import com.vaadin.server.VaadinRequest;
  3. import com.vaadin.tests.data.bean.Person;
  4. import com.vaadin.ui.Grid;
  5. import com.vaadin.ui.HorizontalLayout;
  6. import com.vaadin.ui.Label;
  7. /**
  8. * Tests the layouting of Grid's details row when it contains a HorizontalLayout
  9. * with expand ratios.
  10. *
  11. * @author Vaadin Ltd
  12. */
  13. @SuppressWarnings("serial")
  14. public class GridDetailsLayoutExpand extends SimpleGridUI {
  15. @Override
  16. protected void setup(VaadinRequest request) {
  17. Grid<Person> grid = createGrid();
  18. grid.setSizeFull();
  19. addComponent(grid);
  20. grid.setDetailsGenerator(item -> {
  21. final HorizontalLayout detailsLayout = new HorizontalLayout();
  22. detailsLayout.setSpacing(false);
  23. detailsLayout.setSizeFull();
  24. detailsLayout.setHeightUndefined();
  25. // Label 1 first element of the detailsLayout, taking 200 pixels
  26. final Label lbl1 = new Label("test1");
  27. lbl1.setWidth("200px");
  28. detailsLayout.addComponent(lbl1);
  29. // layout2 second element of the detailsLayout, taking the rest
  30. // of the available space
  31. final HorizontalLayout layout2 = new HorizontalLayout();
  32. layout2.setSpacing(false);
  33. layout2.setSizeFull();
  34. layout2.setHeightUndefined();
  35. detailsLayout.addComponent(layout2);
  36. detailsLayout.setExpandRatio(layout2, 1);
  37. // 2 Labels added to the layout2
  38. final Label lbl2 = new Label("test2");
  39. lbl2.setWidth("100%");
  40. lbl2.setId("lbl2");
  41. layout2.addComponent(lbl2);
  42. final Label lbl3 = new Label("test3");
  43. lbl3.setWidth("100%");
  44. lbl3.setId("lbl3");
  45. layout2.addComponent(lbl3);
  46. return detailsLayout;
  47. });
  48. grid.addItemClickListener(event -> {
  49. final Person itemId = event.getItem();
  50. grid.setDetailsVisible(itemId, !grid.isDetailsVisible(itemId));
  51. });
  52. }
  53. @Override
  54. protected Integer getTicketNumber() {
  55. return 18821;
  56. }
  57. @Override
  58. protected String getTestDescription() {
  59. return "Details row must be the same after opening another details row";
  60. }
  61. }