Ok, the .parent() is wrong because I have to access the tableInner
inside tableOuter. The sourcecode of tableOuter is the following:
<table border="0">
<colgroup>
<col>
</colgroup>
<tbody>
<tr>
<td>
<div style="position: relative; overflow-x:
hidden; overflow-y:
hidden; ">
<button tabindex="0" type="button"
class="gwt-Button">add outer</
button>
</div>
</td>
</tr>
<tr>
<td>
<div style="position: relative; overflow-x:
hidden; overflow-y:
hidden; " class="divOuter">
<div class="gwt-HTML">
<h2>outer</h2>
</div>
<table border="0" class="divInner">
<colgroup>
<col>
</colgroup>
<tbody>
<tr>
<td>
<button
tabindex="0" type="button" class="gwt-Button">add
inner</button>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td>
<div style="position: relative; overflow-x:
hidden; overflow-y:
hidden; ">
<button tabindex="0" type="button"
class="gwt-Button">add outer</
button>
</div>
</td>
</tr>
</tbody>
</table>
, but how can I access the inner table in the first column of the
second row which has the class="divInner" attribute?
On Aug 17, 5:12 pm, Tobe <[email protected]> wrote:
> I notices, that there is still something going wrong. I colored the
> boxes to see if the inner boxes are really located in the outer ones,
> but it's not working. I think the problem is, that I get tableOuter
> and not tableInner by calling the following lines in addInner():
> Cell cellForEvent = tableOuter.getCellForEvent(event);
> tableInner = (FlexTable) tableOuter.getWidget(cellForEvent.getRowIndex
> (), 0).getParent();
>
> On Aug 15, 11:42 am,Tobe<[email protected]> wrote:
>
>
>
> > Thanks Ian, now, it works
> > I used this snippet of code in addInner() to get the corresponding
> > inner FlexTable:
>
> > Cell cellForEvent = tableOuter.getCellForEvent(event);
> > tableInner = (FlexTable) tableOuter.getWidget(cellForEvent.getRowIndex
> > (), 0).getParent();
>
> > On Aug 14, 8:45 pm, Ian Bambury <[email protected]> wrote:
>
> > > 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
-~----------~----~----~----~------~----~------~--~---