Re: WOPopUpButton - Refresh another > WOPopUpButton onChange
Re: WOPopUpButton - Refresh another > WOPopUpButton onChange
- Subject: Re: WOPopUpButton - Refresh another > WOPopUpButton onChange
- From: Theodore Petrosky <email@hidden>
- Date: Fri, 24 Jun 2011 06:58:41 -0700 (PDT)
<wo:AjaxUpdateContainer id="uc1">
<wo:WOPopUpButton id ="pu1" list="list1" selection="$select1"/><weboboject name="AjaxOF1"/>
</wo:AjaxUpdateContainer>
<wo:AjaxUpdateContainer id="uc2">
<wo:WOPopUpButton id ="pu2" list="list1" selection="$select1"/><weboboject name="AjaxOF2"/>
</wo:AjaxUpdateContainer>
<wo:AjaxUpdateContainer id="uc3">
<wo:WOPopUpButton id ="pu3" list="list1" selection="$select1"/><weboboject name="AjaxOF3"/>
</wo:AjaxUpdateContainer>
WOD
AjaxOF1 : AjaxObserveField {
observeFieldID = "pu1";
action = actionForpu1;
updateContainerID = "uc2"
}
AjaxOF2 : AjaxObserveField {
observeFieldID = "pu2";
action = actionForpu2;
}
AjaxOF3 : AjaxObserveField {
observeFieldID = "pu3";
action = actionForpu3;
}
You can put the updatecontainer to update in each AjaxObserveField with updateContainerID = "" or in the action method you can (just don't do it in both places):
public void actionForpu1() {
//do some stuff using select1 and get the new list for pu2
AjaxUpdateContainer.updateContainerWithID("uc2", context());
}
I sometimes like to put the ajaxupdatecontainers in the java because I can more easily see which containers I am updating. But that is just me.
Ted
--- On Fri, 6/24/11, email@hidden <email@hidden> wrote:
> Message: 1
> Date: Fri, 24 Jun 2011 13:36:30 +0200 (CEST)
> From: email@hidden
> Subject: Re: Re: Webobjects-dev Digest, Vol 8, Issue 428
> To: Theodore Petrosky <email@hidden>,
> WebObjects webobjects-dev
> <email@hidden>
> Message-ID:
> <32188123.693711308915390559.JavaMail.www@wsfrf1223>
> Content-Type: text/plain; charset="utf-8"
>
> Hi,
>
>
> I know this example and it work because the first pop 1
> contains data of the pop 2. In my case, the pop 1 don't
> contains pop 2 data. so ajaxUpdateContainer don't work. to
> refresh the pop 2 data, it call a method which fetch pop 2
> with pop 1 selected data primaryKey.
>
> Ray
>
>
> ========================================
>
> Message du : 24/06/2011
> De : "Theodore Petrosky " <email@hidden>
> A : email@hidden
> Copie à : email@hidden
> Sujet : Re: Webobjects-dev Digest, Vol 8, Issue 428
>
>
>
> Have you looked at the Project Wonder Ajax examples. I use
> the AjaxObserverField and AjaxUpdateContainer methods and
> they work great for any number of WOPopUps that I want to be
> dependent on each other. Ted http://services.wocommunity.org/apps/WebObjects/AjaxExample ------------------------------
> > > Message: 3 > Date: Fri, 24 Jun 2011
> 11:46:22 +0200 (CEST) > From: email@hidden
> > Subject: WOPopUpButton - Refresh another WOPopUpButton
> > onChange > To: WebObjects webobjects-dev >
> Message-ID: > > Hi, > >
> > I have a little problem on my apps. When I want to
> search > something, I do selection of parameters by
> WOPupUpButton. > But the problem is when I do the 1st
> search (1st fetch) > there are no problem but when I want
> to do another search > and I select another parameter in
> the WOPopUpButton which > refresh the second one, the
> display page refresh all datas > (do the fetch(1st
> search) I done before) and then update > parameter of
> second WOPopUpButton. It makes
> my apps slow. > > > Here is
> exemple of codes : > > > in html :
> > > Pop 1 > > Pop 2,
> data depends to > Pop1 > >
> WOSubmitButton hidden > by css which contain method to
> refresh pop 2 data > > in wod : >
> > periode : WOPopUpButton { >
> list = periodes; >
> item = currentPeriode; >
> displayString = currentPeriode.libelle;
> > > noSelectionString =
> "Toutes"; > selection =
> selectedPeriode; > size =
> "1"; > class =
> "periode"; > onchange =
> > "javascript:this.form.elements['change'].click()";
> action > which call method bind to onChange
> WOSubmitButton > } > > >
> > niveau : WOPopUpButton { >
> list = niveaux; ===>data depend to >
> Pop 1 > item =
> currentNiveaux; >
> displayString
> =currentNiveaux.libelle; >
> noSelectionString = "Tous";
> > selection =
> selectedNiveaux; > size =
> "1"; > class =
> "niveau"; > } > > > >
> onChange : WOSubmitButton { >
> name = "change"; >
> action = onChange; >
> class = "hide
> "; > value = "";
> > } > > > in Java : > >
> public WOActionResults onChange() { >
> >
> comboxNiveau(selectedPeriode); >
> return null; >
> } > > protected NSArray
> comboxNiveau(EOVuePeriodeParam periode) > { >
> if (periode == null) { >
> > niveaux =
> EOVueNivAdm.fetchAllEOVueNivAdms(session() >
> >
> >
> .defaultEditingContext(), niveauOrderings); >
> } else { >
> EOQualifier > qual =
> EOQualifier.qualifierWithQualifierFormat( >
> >
> "pperiode=%@", new >
> NSArray(periode.primaryKey())); >
> > niveaux =
> EOVueNivAdm.fetchEOVueNivAdms(session() >
> >
> >
> .defaultEditingContext(), qual, niveauOrderings); >
> } > } > > ...
> > > > I want to know if there another
> way to refresh my pop 2 > data without using the
> javascript which is obliged to submit > before refresh?
> > > > Thanks >
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.apple.com/pipermail/webobjects-dev/attachments/20110624/14fdb14c/attachment.html
>
> ------------------------------
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden