Hi BJ Tenney, > When I click on a cell, I call invokeULC to cause certain > events to happen on the server. > If the row that has the increased row height is visible, > invokeULC does not happen until it is no longer visible. It > is called on the client side, but the server never sees the > call until that roll is scrolled out of height.
It would help if you can send me a small snippet. However, for variable row height please see http://ulc-community.canoo.com/snipsnap/space/Variable+Row+Height+Table ULC provides for server side renderers but you seem to be using client side renderers. ULCTable uses lazy loading for uploading data and renderers to the client. You implementation could interfere with that. Moreover, you can use the Selection event (single clk) or Action Event (dbl clk) on table out-of-the-box instead of doing invokeULC. Thanks and regards, Janak ----------------------------------------- Janak Mulani email: [email protected] url: http://www.canoo.com Beyond AJAX - Java Rich Internet Applications http://www.canoo.com/ulc ----------------------------------------- > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of BJ Tenney > Sent: Wednesday, January 06, 2010 7:57 PM > To: [email protected] > Subject: [ULC-developer] Increased row height delays invokeULC call > > ULC-version: 2008-u3b > > I have a table with some row heights that are different than others. > If a cell has certain cell contents, then row height is > doubled for that row. > When I click on a cell, I call invokeULC to cause certain > events to happen on the server. > If the row that has the increased row height is visible, > invokeULC does not happen until it is no longer visible. It > is called on the client side, but the server never sees the > call until that roll is scrolled out of height. > > For example: > > I have a table with the following contents: > > "temp<br>temp" | "temp" > "temp" | "temp" > "temp" | "temp" > "temp" | "temp" > "temp" | "temp" > "temp" | "temp" > "temp" | "temp" > "temp" | "temp" > > This table is inside of a scroll pane and only 3 rows are > visible at a time. I then have a cell renderer that > increases the row height of the first row: > > public Component getTableCellRendererComponent(JTable table, > Object value, > boolean isSelected, > boolean hasFocus, > int row, > int column) { > JLabel label = new JLabel(); > label.setText(value.toString()); > if(row==0 && column == 0) > table.setRowHeight(row, table.getRowHeight()*2); > > return label; > } > > The rendering is done correctly so that the first row has a > row height that is twice the size of the other rows. I also > have a mouse listener which does this on a mouse click: > > public void mouseClicked(MouseEvent e) { > JTable table = (JTable)e.getSource(); > int iRow = table.getSelectedRow(); > int iColumn = table.getSelectedColumn(); > invokeULC("clickedTable", new > Object[]{iRow, iColumn}); > } > > On the server, this simply causes an Alert to say which row > and col are clicked: > > new ULCAlert("Title","Clicked row " + rowCol[0].toString() + > " and col " + rowCol[1].toString(),"OK").show(); > > When clicking on the table, and the first row is not visible, > the Alert comes up without problem. > However, when the top row (which has a height that is twice > as big) is in view, clicking on that row, or the row below it > do not display the Alert. If I click row 0, col 0 and then > scroll down in the scroll pane the Alert will display after > the top row is scrolled out of view. > > Is there a know issue with this or is there some other way to do this? > > I can send you my sample classes if needed. > _______________________________________________ > ULC-developer mailing list > [email protected] > http://lists.canoo.com/mailman/listinfo/ulc-developer > _______________________________________________ ULC-developer mailing list [email protected] http://lists.canoo.com/mailman/listinfo/ulc-developer
