You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Andrew Robinson <an...@gmail.com> on 2008/07/15 17:48:10 UTC
Re: [Trinidad] How to use PPR and a valueChangeEvent to update components in a tr:table row
For access in the same row, what you have done looks correct to me.
Only when you want to go to a different row or from outside the table
into a row that it is a problem (must be handled with code). Can you
check using firebug if the HTML is being sent down for the two
components?
-Andrew
On Tue, Jul 15, 2008 at 4:57 AM, Graeme Steyn <g....@cqu.edu.au> wrote:
> Hi,
>
> I have a table with a tr:inputText field that I have attached a jquery
> autocomplete function to. When the value of this input field changes, I
> would like to do a PPR operation that updates corresponding hidden input
> and select one choice components in the same row. The code for the two
> columns appears below.
>
> Within the institutionValueChange event code, how would I access the
> "constHep" and "constCntry" components to update their values and in the
> case of the "constCntry" disable the component based on the new value.
>
> Any points would be greatly appreciate.
>
> Thank you.
>
> Regards,
>
> Graeme.
>
> <tr:column>
> <f:facet name="header">
> <tr:panelHorizontalLayout
> valign="middle">
> <tr:image
> source="#{bundle.liveSearch}"
> styleClass="searchIco"
> shortDesc="#{bundle.iconLiveSearch}" />
> <tr:outputText value="#{bundle.eduInstitutionHeader}" />
> </tr:panelHorizontalLayout>
> </f:facet>
> <tr:panelHorizontalLayout
> valign="middle">
> <tr:inputHidden
> id="constHep"
> value="#{entry.institutionId}"
> partialTriggers="constInst" />
>
> <tr:inputText
> id="constInst"
> value="#{entry.institution}"
> immediate="true"
> autoSubmit="true"
> valueChangeListener="#{entry.institutionValueChange}" >
> <f:validateLength maximum="50" />
> </tr:inputText>
> </tr:panelHorizontalLayout>
> </tr:column>
>
> <tr:column >
> <f:facet name="header">
> </f:facet>
>
> <tr:selectOneChoice
> id="constCntry"
> partialTriggers="constInst"
> value="#{entry.country}" >
> <f:selectItems value="#{applicationSelectItems.countryList}" />
> </tr:selectOneChoice>
> </tr:column>
>
>
> Graeme Steyn
> Information Systems
> Information Technology Division
> CQUniversity
> Tel: +61 7 4930 9256
> Fax: +61 7 4930 6814
> E-mail: g.steyn@cqu.edu.au
>
>
> This e-mail message is intended only for the use of the individual or
> entity to which it is addressed and may contain information that is
> privileged, confidential and exempt from disclosure under applicable
> law. If you are not the intended recipient, any dissemination,
> distribution or copying of this communication is strictly prohibited. If
> you have received this communication in error, please notify me
> immediately by facsimile or telephone.
>
>
Re: [Trinidad] How to use PPR and a valueChangeEvent to update components in a tr:table row
Posted by Andrew Robinson <an...@gmail.com>.
Events in a table are fired in context, so you can access bound
component attributes in the correct context (assuming that you are
catching a value change event in a table child)
On Tue, Jul 15, 2008 at 7:46 PM, Graeme Steyn <g....@cqu.edu.au> wrote:
> Andrew, thank you. I think the problem is in the actual value change
> event listener code. I am not sure how to access or update the
> individual components. The current code appears as follows:
>
> public void institutionValueChange(ValueChangeEvent event) {
>
> String newValue = (String) event.getNewValue();
>
> UIXTable table = (UIXTable) constrainedTertiaryEducationTable;
> TertiaryEducation row = (TertiaryEducation) table.getRowData();
>
> if (newValue != null) {
>
> // Find the hepCode value...
>
> if (inHepList) {
> row.setInstitutionId(hepCode);
> row.setCountry(
> PeopleSoftConstants.AUSTRALIAN_COUNTRY_CODE);
> }
> } else {
> row.setInstitutionId(null);
> }
>
> // Render response to prevent going to the validation phase for
> the
> // other components. This prevents validation errors for the as
> yet
> // incomplete fields.
> getFacesContext().renderResponse();
>
> }
>
> Basically, the row.set... operations are for updating the values in the
> other columns for the same row. I would also have liked to do something
> along the lines of
>
> countryComponent.setDisabled(true);
>
> Unfortunately, I am not sure how this gets done without binding to the
> component in the backing bean, which I have being having problems with
> as well. As you can see, I am a little new at trying to manipulate
> table contents using PPR.
>
> Regards,
>
> Graeme.
>
>> -----Original Message-----
>> From: Andrew Robinson
>> Sent: Wednesday, 16 July 2008 1:48 AM
>>
>> For access in the same row, what you have done looks correct to me.
>> Only when you want to go to a different row or from outside the table
>> into a row that it is a problem (must be handled with code). Can you
>> check using firebug if the HTML is being sent down for the two
>> components?
>>
>> -Andrew
>>
>> On Tue, Jul 15, 2008 at 4:57 AM, Graeme Steyn <g....@cqu.edu.au>
>> wrote:
>> > Hi,
>> >
>> > I have a table with a tr:inputText field that I have attached a
>> jquery
>> > autocomplete function to. When the value of this input field
>> changes, I
>> > would like to do a PPR operation that updates corresponding hidden
>> input
>> > and select one choice components in the same row. The code for the
>> two
>> > columns appears below.
>> >
>> > Within the institutionValueChange event code, how would I access the
>> > "constHep" and "constCntry" components to update their values and in
>> the
>> > case of the "constCntry" disable the component based on the new
>> value.
>> >
>> > Any points would be greatly appreciate.
>> >
>> > Thank you.
>> >
>> > Regards,
>> >
>> > Graeme.
>> >
>> > <tr:column>
>> > <f:facet name="header">
>> > <tr:panelHorizontalLayout
>> > valign="middle">
>> > <tr:image
>> > source="#{bundle.liveSearch}"
>> > styleClass="searchIco"
>> > shortDesc="#{bundle.iconLiveSearch}" />
>> > <tr:outputText value="#{bundle.eduInstitutionHeader}" />
>> > </tr:panelHorizontalLayout>
>> > </f:facet>
>> > <tr:panelHorizontalLayout
>> > valign="middle">
>> > <tr:inputHidden
>> > id="constHep"
>> > value="#{entry.institutionId}"
>> > partialTriggers="constInst" />
>> >
>> > <tr:inputText
>> > id="constInst"
>> > value="#{entry.institution}"
>> > immediate="true"
>> > autoSubmit="true"
>> > valueChangeListener="#{entry.institutionValueChange}" >
>> > <f:validateLength maximum="50" />
>> > </tr:inputText>
>> > </tr:panelHorizontalLayout>
>> > </tr:column>
>> >
>> > <tr:column >
>> > <f:facet name="header">
>> > </f:facet>
>> >
>> > <tr:selectOneChoice
>> > id="constCntry"
>> > partialTriggers="constInst"
>> > value="#{entry.country}" >
>> > <f:selectItems value="#{applicationSelectItems.countryList}"
>> />
>> > </tr:selectOneChoice>
>> > </tr:column>
>> >
>> >
>> > Graeme Steyn
>> > Information Systems
>> > Information Technology Division
>> > CQUniversity
>> > Tel: +61 7 4930 9256
>> > Fax: +61 7 4930 6814
>> > E-mail: g.steyn@cqu.edu.au
>> >
>> >
>> > This e-mail message is intended only for the use of the individual
> or
>> > entity to which it is addressed and may contain information that is
>> > privileged, confidential and exempt from disclosure under applicable
>> > law. If you are not the intended recipient, any dissemination,
>> > distribution or copying of this communication is strictly
> prohibited.
>> If
>> > you have received this communication in error, please notify me
>> > immediately by facsimile or telephone.
>> >
>> >
>
RE: [Trinidad] How to use PPR and a valueChangeEvent to update components in a tr:table row
Posted by Graeme Steyn <g....@cqu.edu.au>.
Andrew, thank you. I think the problem is in the actual value change
event listener code. I am not sure how to access or update the
individual components. The current code appears as follows:
public void institutionValueChange(ValueChangeEvent event) {
String newValue = (String) event.getNewValue();
UIXTable table = (UIXTable) constrainedTertiaryEducationTable;
TertiaryEducation row = (TertiaryEducation) table.getRowData();
if (newValue != null) {
// Find the hepCode value...
if (inHepList) {
row.setInstitutionId(hepCode);
row.setCountry(
PeopleSoftConstants.AUSTRALIAN_COUNTRY_CODE);
}
} else {
row.setInstitutionId(null);
}
// Render response to prevent going to the validation phase for
the
// other components. This prevents validation errors for the as
yet
// incomplete fields.
getFacesContext().renderResponse();
}
Basically, the row.set... operations are for updating the values in the
other columns for the same row. I would also have liked to do something
along the lines of
countryComponent.setDisabled(true);
Unfortunately, I am not sure how this gets done without binding to the
component in the backing bean, which I have being having problems with
as well. As you can see, I am a little new at trying to manipulate
table contents using PPR.
Regards,
Graeme.
> -----Original Message-----
> From: Andrew Robinson
> Sent: Wednesday, 16 July 2008 1:48 AM
>
> For access in the same row, what you have done looks correct to me.
> Only when you want to go to a different row or from outside the table
> into a row that it is a problem (must be handled with code). Can you
> check using firebug if the HTML is being sent down for the two
> components?
>
> -Andrew
>
> On Tue, Jul 15, 2008 at 4:57 AM, Graeme Steyn <g....@cqu.edu.au>
> wrote:
> > Hi,
> >
> > I have a table with a tr:inputText field that I have attached a
> jquery
> > autocomplete function to. When the value of this input field
> changes, I
> > would like to do a PPR operation that updates corresponding hidden
> input
> > and select one choice components in the same row. The code for the
> two
> > columns appears below.
> >
> > Within the institutionValueChange event code, how would I access the
> > "constHep" and "constCntry" components to update their values and in
> the
> > case of the "constCntry" disable the component based on the new
> value.
> >
> > Any points would be greatly appreciate.
> >
> > Thank you.
> >
> > Regards,
> >
> > Graeme.
> >
> > <tr:column>
> > <f:facet name="header">
> > <tr:panelHorizontalLayout
> > valign="middle">
> > <tr:image
> > source="#{bundle.liveSearch}"
> > styleClass="searchIco"
> > shortDesc="#{bundle.iconLiveSearch}" />
> > <tr:outputText value="#{bundle.eduInstitutionHeader}" />
> > </tr:panelHorizontalLayout>
> > </f:facet>
> > <tr:panelHorizontalLayout
> > valign="middle">
> > <tr:inputHidden
> > id="constHep"
> > value="#{entry.institutionId}"
> > partialTriggers="constInst" />
> >
> > <tr:inputText
> > id="constInst"
> > value="#{entry.institution}"
> > immediate="true"
> > autoSubmit="true"
> > valueChangeListener="#{entry.institutionValueChange}" >
> > <f:validateLength maximum="50" />
> > </tr:inputText>
> > </tr:panelHorizontalLayout>
> > </tr:column>
> >
> > <tr:column >
> > <f:facet name="header">
> > </f:facet>
> >
> > <tr:selectOneChoice
> > id="constCntry"
> > partialTriggers="constInst"
> > value="#{entry.country}" >
> > <f:selectItems value="#{applicationSelectItems.countryList}"
> />
> > </tr:selectOneChoice>
> > </tr:column>
> >
> >
> > Graeme Steyn
> > Information Systems
> > Information Technology Division
> > CQUniversity
> > Tel: +61 7 4930 9256
> > Fax: +61 7 4930 6814
> > E-mail: g.steyn@cqu.edu.au
> >
> >
> > This e-mail message is intended only for the use of the individual
or
> > entity to which it is addressed and may contain information that is
> > privileged, confidential and exempt from disclosure under applicable
> > law. If you are not the intended recipient, any dissemination,
> > distribution or copying of this communication is strictly
prohibited.
> If
> > you have received this communication in error, please notify me
> > immediately by facsimile or telephone.
> >
> >