Hi Igor

Here is the java code:

add(new AjaxButton("ajaxSubmitButton", this) {

        protected void onSubmit(AjaxRequestTarget target, Form form) {

                AjaxLazyLoadPanel transactions = new AjaxLazyLoadPanel(
                                "transactions") {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public Component getLazyLoadComponent(String id)
{

                                TransactionQuery transactionQuery = new
TransactionQuery();

        
transactionQuery.setCardNumber(cardNumberField
                                                .getInput());
        
transactionQuery.setDateFrom(dateFromField
                                                .getInput());
        
transactionQuery.setDateTo(dateToField.getInput());
        
transactionQuery.setStoreId(storeIdsDropDownChoice
                                                .getInput());
                                transactionQuery
        
.setTerminalId(terminalIdsDropDownChoice
        
.getInput());
                                int transactionNumber = 0;
                                if (transNumberField.getInput() != null)
{
                                        if
((transNumberField.getInput().length() > 0))
                                                transactionNumber =
Integer
        
.parseInt(transNumberField
        
.getInput());
                                }
                                transactionQuery
        
.setTransactionNumber(transactionNumber);



                                AjaxFallbackDefaultDataTable results =
new AjaxFallbackDefaultDataTable(
                                                id,
                                                columns,
                                                new
SortableTransactionQueryResultsDataProvider(
        
transactionQuery), 10);

                                // transactions.setOutputMarkupId(true);
                                
                                results.setRenderBodyOnly(false);

                                return results;
                        }

                };

                transactions.setRenderBodyOnly(false);
                
                form.replace(transactions);

                target.addComponent(transactions);
        }

});



HTML code:

<table cellpadding="2" cellspacing="0" width="521"
wicket:id="transactions">
                                                
</table>


I have tried playing around with the way I've implemented this, but I
keep on getting the same exception (java.lang.IllegalStateException)
when I sort a column or navigate to a page.

Let me know what you think.

Regards,
Yazeed Isaacs



-----Original Message-----
From: Igor Vaynberg [mailto:[EMAIL PROTECTED] 
Sent: 06 October 2008 09:31 AM
To: [email protected]
Subject: Re: AjaxFallbackDefaultDataTable with ajax lazy loading -
sorting and paging throws an IllegalStateException

if i were you i would read the exception message, it is telling you
exactly what is going wrong...if you showed some code or provided a
quickstart we can help further.

-igor

On Mon, Oct 6, 2008 at 12:04 AM, Yazeed Isaacs
<[EMAIL PROTECTED]> wrote:
> Anybody?
>
> Guys please help me with this one.
>
>
>
> -----Original Message-----
> From: Yazeed Isaacs
> Sent: 03 October 2008 03:00 PM
> To: [email protected]
> Subject: AjaxFallbackDefaultDataTable with ajax lazy loading - sorting
and paging throws an IllegalStateException
>
> Hi
>
> I have an AjaxFallbackDefaultDataTable table and I am using an
AjaxLazyLoadPanel when rendering this table. When I click the AjaxButton
the table lazy loads.
>
> To summarize (in short) I have a AjaxButton that when clicked the
onSubmit() method creates the AjaxLazyLoadPanel, the AjaxLazyLoadPanel's
getLazyLoadComponent() method returns the AjaxFallbackDefaultDataTable
table. Therefore the AjaxLazyLoadPanel renders as the
AjaxFallbackDefaultDataTable table.
>
> The table lazy loads correctly, but when I click on a column in order
to sort it or click on the page navigation links, I get the following
error:
>
> java.lang.IllegalStateException: Ajax render cannot be called on
component that has setRenderBodyOnly enabled.
> ...
> Component id = content, page =
za.co.transactionjunction.transpector.pages.TransactionQueryPage, path =
8:transactionQueryForm:transactions:content.AjaxFallbackDefaultDataTable
>
> Where transactions is the AjaxLazyLoadPanel.
>
> Am I missing something? Please help.
>
> Regards,
> Yazeed Isaacs
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to