Presumably you know where they are, so you can do something like:
FlexTable levelTwoFlexTable = (FlexTable) levelOneFlexTable.getWidget(row,
column);
BTW, though I'm not sure why you are getting your exceptions, here''s a way
to add rows anywhere - you'd need two versions - one for adding a level-2
flextable to a level-1 flextable, and another to deal with adding rows to
your level-2 flextable. And you'd probably be better off with labels styled
as links rather than buttons...
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Label;
public class AddRowButton extends Button implements ClickHandler
{
private static int c = 0;
public AddRowButton()
{
super("Add Row Here");
addClickHandler(this);
}
@Override
public void onClick(ClickEvent event)
{
Button b = (Button) event.getSource();
FlexTable f = (FlexTable) b.getParent();
int r = f.getCellForEvent(event).getRowIndex();
f.insertRow(r);
f.setWidget(r, 0, new AddRowButton());
f.insertRow(r + 1);
// Change the next line so it adds a level-2 flextable
f.setWidget(r + 1, 0, new Label("Level 2 Flextable " + ++c + "
here"));
}
}
If you want to try it, then all you need is the following in your
onModuleLoad()
FlexTable f = new FlexTable();
f.setWidget(0, 0, new AddRowButton());
RootPanel.get().add(f);
Ian
http://examples.roughian.com
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---