Widget not (always) shown in interaction editor


I have a dynamic panel “pnl_table” with two widgets on it: a label and a table, named “tbl_main”.
The “Outline” treeview in the development environment shows these two widgets under the “pnl_table” node. No problem here.

Now I want to resize tbl_main after a button click on a button that resides in another dynamic panel, somewhere on my screen. However, the interaction editor does not show “tbl_main” in the widtget listing when I must select my target. Performing a search on “tbl_main” results in the listing being empty.

The weird thing is, that the parent panel “pnl_table” is well shown in that list, as well as the label widget that it contains.

Also weird is, that testing this problem by adding interactions on other widgets on my form, for some of these widgets, the table widget does appear in the interaction editor.

Thanks in advance for any help on this.

Schematic :

parent page
________btn_someButton (“tbl_main” not visible when defining interaction on this widget)
________btn_someOtherButton (“tbl_main” visible when defining interaction on this widget)

You can’t resize Table widgets. I’m not even sure what to expect if it were possible… would all the cells stretch? Only last row and/or column? Or would rows and columns be added/removed to make the table bigger/smaller?

The fact the widget doesn’t even show in the list of widgets in the Select Widget list is something I’d call a bug. You can’t resize a Repeater widget either, but at least they show up in the list as disabled (grayed out.) It would be nice to see that your table widget is still there, just not selectable for resizing.

Depending on how you want to “resize” your table, I can think of a few workarounds… Create your table manually, either as a grid of boxes or better yet as a repeater. You can resize the base widget in a repeater and all cells/rows will match. Or, you could create a dynamic panel from your table, duplicate the state and resize it manually, then switch between panel states to make it appear as if the table were actually resizing. Or, if by “resizing” you mean adding/hiding rows and columns, you could place the full table in a dynamic panel, then resize the panel to reveal or hide part of your table.