If you are experiencing an issue please mention the full platform your issue applies to: IDE: NetBeans/Eclipse/IDEA Desktop OS Simulator Device PC, Android, IOS
Sorry for the Table Population Hack, I am expecting to edit column 0 and when I click/Press on a row that exists within the non scrolled region all is well. Scroll down then click/press a cell to edit (casted as TextField) and the Table scrolls back to top. As soon as The Table scrolls back to top, the cell I pressed and was going to edit, looses focus and of course would execute an actionEvent (Not Shown Here) How do I prevent the scrolling back to top when I press a cell in this case? Thanks In Advance! Form hi = new Form("Table", new BorderLayout()); hi.setScrollableY(true); Container header = new Container(new BoxLayout(BoxLayout.Y_AXIS)); TableModel modelHeader = new DefaultTableModel(new String[]{"Complaint", "Hours", "Dollars"}, new Object[][]{ ,}) { public boolean isCellEditable(int row, int col) { return col != 0; } }; Table table1 = new Table(modelHeader) { @Override protected TableLayout.Constraint createCellConstraint(Object value, int row, int column) { TableLayout.Constraint con = super.createCellConstraint(value, row, column); if (row == 1 && column == 1) { con.setHorizontalSpan(2); } con.setWidthPercentage(33); return con; } }; header.addComponent(table1); int RowNum = 1; TableModel model = new DefaultTableModel(new String[]{"", "", ""}, new Object[][]{ {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row " + (RowNum++), "Row A", "Row X"}, {"Row 2", "Row B can now stretch", null}, {"Row 3", "Row C", "Row Z"}, {"Row 4", "Row D", "Row K"},}) { public boolean isCellEditable(int row, int col) { if (col == 0) { return true; } else { return false; } } }; Table table = new Table(model) { private int selectedRow = -1; @Override protected Component createCell(Object value, int row, int column, boolean editable) { Component cell; if (row < 0) { cell = super.createCell(value, row, column, editable); } else { if (column == 0) { cell = new TextField(value.toString()); ((TextField) cell).addPointerReleasedListener(e -> { selectedRow = row; setModel(getModel()); }); } else { cell = new Button(value.toString()); cell.setUIID("TableCell"); ((Button) cell).addPointerReleasedListener(e -> { selectedRow = row; setModel(getModel()); }); } } if (selectedRow > -1 && selectedRow == row) { cell.getAllStyles().setBgColor(0xff0000); cell.getAllStyles().setBgTransparency(100); } return cell; } @Override protected TableLayout.Constraint createCellConstraint(Object value, int row, int column) { TableLayout.Constraint con = super.createCellConstraint(value, row, column); if (row == 1 && column == 1) { con.setHorizontalSpan(5); } con.setWidthPercentage(33); return con; } }; hi.add(BorderLayout.NORTH, header); table.setScrollableY(true); hi.add(BorderLayout.CENTER, table); hi.show(); -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/codenameone-discussions. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/bf81f32d-c4de-485c-b2f1-44fbbb6a8911%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.