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
-~----------~----~----~----~------~----~------~--~---

Reply via email to