Sure, how?  Maybe I'm misunderstanding?  I can't stick the whole app
in there, however.  Maybe I could just send you both of the entire
files (java + html)?

I've found that if I set it to 1 column, it renders w/o an exception.
If I set it to 3 columns, it bombs.  When it does render, I see one
row w/ 3 items even though there are 5 items.  Weird.

On 5/22/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
do you want to stick this into wicket-quickstart and let me take a look? it
is the most efficient way i can find the problem


-Igor


On 5/22/06, VGJ <[EMAIL PROTECTED]> wrote:
>
>
> ok, riddle me this, Batman.
>
> I changed it to just look like:
>
> item.add(new GridView("name", provider)
> {
> };
>
> Whereas before, I was creating the GridView, *then* adding it to the
top-level ListView in two separate steps.
>
> I'm sure my hierarchy before was right because I can simply change what I
show above to
>
> GridView gv = new GridView("name", provider)
> {
> };
>
> item.add(gv);
>
> ...and, I get the hierarchy exception!
>
> I'd be fine w/ the "fix" I came up w/, however, I can't get more than one
row to appear.
>
> I did this:
>
> item.add(new GridView("name", provider)
> {
> }.setRows(3).setColumns(3));
>
> ...however, I only get one row no matter how many items there are.  If I
switch back to the old ListView I was using, sure enough, all 5 items show
up in a single row.
>
> any ideas?
>
>
> On Mon, 2006-05-22 at 15:52 -0700, Igor Vaynberg wrote:
>
>
> where is the populateEmptyItem you are supposed to implement for the
gridview? this method populate left over cells and is probably what is
causing the hierarchy mismatch.
>
> also here is how to implement detachable idataprovider:
>
> class mydataprovider implemetns IDataProvider, IDetachable {
>    private transient List list;
>
>    public void detach() { list=null; }
>
>    public iterator iterateor(int first, int last) {
>        return getlist().listiterator(first);
>    }
>
>    public int size() {
>       return getlist().size();
>    }
>
>    private List getlist() {
>        if (list==null) {
>             list=...load list here
>         }
>         return list;
>    }
> }
>
> -Igor
>
>
>
>
> On 5/22/06, Vincent Jenks < [EMAIL PROTECTED]> wrote:
>
> Yeah, that's what I figured given the example, however that's where my
> problem lies.  The items I'm adding in populateItem in the GridView
> can't be found, I'm getting the hierarchy problem exception.
>
> Here's what I'm doing in the page as an overview:
>
> 1. List Product Categories (ListView)
>   2. for each Category, retrieve and display Products (GridView)
>     3. Display 3-column table w/ Product details ("cols" in GridView)
>
> Here's the code:
>
>                 //add ListView object to page w/ data
>                 add(new ListView("categoryView", categoryModel)
>                 {
>                         protected void
populateItem(ListItem item)
>                         {
>                                 //get catagory item
>                                 final ProductCategory
category = (ProductCategory)item.getModelObject();
>
>                                 //add category label
>                                 item.add(new
Label("category", category.getName()));
>
>                                 //STILL DON'T UNDERSTAND
HOW TO PASS THIS INTO GRIDVIEW
>                                 IModel productModel = new
LoadableDetachableModel()
>                                 {
>                                         protected Object
load()
>                                         {
>                                                 return
ProductProxy.getProducts (category);
>                                         }
>                                 };
>
>                                 IDataProvider provider =
new
> ProductDataProvider(ProductProxy.getProducts(category)); //HARDCODED,
> NOT DETACHED!  SEE DETACHED MODEL ABOVE!
>                                 GridView productView =
new GridView("productView", provider)
>                                 {
>                                         protected void
populateItem(Item item)
>                                         {
>                                                 //get
product item
>                                                 final
Product product = (Product)item.getModelObject();
>
>                                                 //create
thumbnail link w/ event
>                                                 Link
thumbnailLink = new Link("thumbnailLink")
>                                                 {
>
 public void onClick()
>                                                         {
>
      setResponsePage(new ProductDetail(product));
>                                                         }
>                                                 };
>
>                                                 //add
attribute modifier
>
thumbnailLink.add(wmc);
>
>                                                 //add
thumbnail link
>
item.add(thumbnailLink);
> .....
>
> You'll notice I've got a detached model in there...right now it's not
> being used since I haven't figured out how to send detached data from
> this page into the IDataProvider derived class (another issue, not to
> get off track, sorry!)
>
> Here's my HTML, I'm sure it's fantastically wrong but I need to see it
> rendered to decide if it looks right:
>
> ...............
>
>                                                 <tr
wicket:id="categoryView">
>
<td>
>
      <span wicket:id="category"
class="titleSmall">category</span>
>
      <hr width="100%" size="1" />
>
      <br />
>
      <table width="200" align="left"
wicket:id="productView">
>
              <tr>
>
                      <td wicket:id="cols">
>
                              <table
width="200" align="left">
>
                                      <tr>
>

   <td>
>

           <a href="#" wicket:id="thumbnailLink">
>

                   <img src="#" wicket:id="thumnailImg"
width="200"
> height="134" border="0" />
>

           </a>
>

   </td>
>

</tr>
>
> ................
>
> Here's the exception I'm getting, it's not finding the thumbnailLink
> control above:
>
> WicketMessage: Unable to find component with id 'thumbnailLink' in
> [MarkupContainer [Component id = 4, page =
> com.myapp.ui.ProductCatalog, path =
> 2:categoryView:0:productView:1:cols:4.Item, isVisible =
true,
> isVersioned = true]]. This means that you declared
> wicket:id=thumbnailLink in your markup, but that you either did not
> add the component to your page at all, or that the hierarchy does not
> match.[markup =
> file:/C:/Program%20Files/jboss-
4.0.4.GA/server/default/tmp/deploy/tmp37375MyAppEAR.ear-contents/MyApp-exp.war/WEB-INF/classes/com/myapp/ui/ProductCatalog.html,
> index = 29, current = '<a href="#" wicket:id="thumbnailLink">' (line
> 61, column 15)]
>
> I must just be missing something obvious....I thought I set it up
> correctly per the wicket-examples GridViewPage example.
>
> On 5/22/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > cols objects are generated by the gridview, whatever components you add
to
> > the gridview in populate have to go inside the cols
> >
> >  -Igor
> >
> >
> > On 5/22/06, VGJ <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > The code in examples looks screwy to me too, since it defines
> > wicket:id="rows" for the GridView control and wicket:id="cols" as the
> > columns...yet in the class there is no mention of "cols" anywhere.  Is
this
> > some built-in object?
> > >
> > > I'm obviously getting an exception because I've setup "rows" and
"cols"
> > but there is no "cols" - every widget I've nested inside of "cols" is
> > causing my hierarchy to be incorrect.
> > >
> > >
> > > On Mon, 2006-05-22 at 10:02 -0700, Igor Vaynberg wrote:
> > >
> > >
> > >
> > >
> > > On 5/22/06, VGJ < [EMAIL PROTECTED]> wrote:
> > >
> > > Ok, this makes more sense than the example in wicket-examples.
However,
> > what if the List I'm passing in is actually wrapped in a
> > LoadableDetachableModel?
> > >
> > > that should be ok because dataview will check if the idataprovider
impl
> > you passed in also implements IDetachable and call detach on it at the
end
> > of request.
> > >
> > > so class MyDataProvider extends ListDataProvider implements
IDetachable
> > {....}
> > >
> > >
> > >
> > >
> > >
> > > Congrats on the baby, by the way!!
> > >
> > > thank you :)
> > >
> > > -Igor
> > >
> > >
> > >
> >
> >
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>
http://sel.as-us.falkag.net/sel?cmdlnk&kid0709&bid&3057&dat1642
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to