myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Robinson" <andrew.rw.robin...@gmail.com>
Subject Re: Editable DataTable
Date Wed, 20 Feb 2008 16:05:07 GMT
Just make sure Person has setName(String) and setAge(Number) methods.
You may need to use number converters with the age to work with
different number types.

-Andrew

On Wed, Feb 20, 2008 at 12:48 AM, Rafa PĂ©rez <rajalin@gmail.com> wrote:
> This is not neccesary. Because of the ValueBinding for the InputText, when
> you submit the form every object of the list of persons gets updated with
> the values you entered in the table. This way, you only have to do:
>
>  for(Person person : persons) {
>
>     System.out.println(person.getName());
>     System.out.println(person.getAge());
> }
>
>
> HTH,
>
> - - Rafa
>
>
>
> On Feb 20, 2008 7:53 AM, Hemanth Abburi <java4hemanth@gmail.com> wrote:
>
> >
> > Hi,
> >           Thanks for the prompt reply.
> >           What I meant by getting the values was "How can I retrieve the
> values which the user has entered in the inputText field of the datatable?".
> >            I found out a solution but don't know whether it's a standard
> one or not.
> >             I  used the following code in the managed bean to get the
> values submitted in the form.
> >
> >  UIComponent comp =
> FacesContext.getCurrentInstance().getViewRoot().findComponent("myform");
> >  List l=comp.getChildren();
> >  Iterator itr = l.iterator();
> >  while(itr.hasNext()){
> >   Object obj=itr.next();
> >
> >   if( obj instanceof UIData){
> >     UIData uIData=(UIData)obj;
> >     System.out.println("UIData "+ uIData);
> >     HtmlDataTable myTable = (HtmlDataTable)uIData;
> >
> >    for(int i=0;i<myTable.getRowCount();i++){
> >     myTable.setRowIndex(i);
> >     Person person = new Person();
> >     person = (Person) myTable.getRowData();
> >     System.out.println(person.getName());
> >     System.out.println(person.getAge());
> >
> >     }
> > person.getName() and person.getAge() are giving me the edited values.
> > Is there any other way by which I can get them?
> > I can use "binding" but I would not like to use it.
> >
> >
> >
> >
> > On 2/19/08, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> > > your code is correct.
> > >
> > > #{person.name} invokes <Person instance>.getName()
> > > #{person.age} invokes <Person instance>.getAge()
> > >
> > > On Feb 18, 2008 9:30 PM, Hemanth Abburi <java4hemanth@gmail.com> wrote:
> > > > Hi !!
> > > >            I am a newbie to JSF and am working on datatable. I wanted
> to
> > > > create a simple editable datatable.The datatable component in the jsp
> is as
> > > > shown below..
> > > >
> > > >
> > > >
> > > > <h:dataTable value="#{table.persons}" var="person" border="1"
> > > > id="customTable" >
> > > >
> > > > <h:column>
> > > >
> > > > <f:facet name="header" ><h:outputText
> > > > value="#{msg.serialNumber}"/></f:facet>
> > > >
> > > > <h:outputText value="#{person.name}"/>
> > > >
> > > > </h:column>
> > > >
> > > > <h:column>
> > > >
> > > > <f:facet name="header"><h:outputText value="#{msg.exp}"/></f:facet>
> > > >
> > > > <h:inputText value="#{person.age}"/>
> > > >
> > > > </h:column>
> > > >
> > > > </h:dataTable>
> > > >
> > > > I just want to know how i can get the values of "name" and "age" which
> are
> > > > members of a class person.
> > > >
> > > > The managed bean contains of a list by the name "persons" which
> consists of
> > > > objects of type "person".
> > > >
> > > > Thanks,
> > > >
> > > > Hemanth.
> > >
> >
> >
>
>

Mime
View raw message