Hi Volker!
I chose a different solution in the meantime, without using a immediate
command. So the model values are updated. I had to omit the required
validator of the inputText in the dataTable using this approach to avoid
validation errors on non-save actions which target to the same JSF page.
I use the component-binding on the inputText in the dataTable to add error
messages to the component.
And that's where I have a current problem. I could observe that the clientId
of that inputText is the same for all inputText used in the dataTable (if I
set it explicitely or not) . So adding an error message to a specific
component doesn't work. There's no error message shown in the h:message tag
of that component. Furthermore, if I want to use the h:message tag for the
inputText, I have to specify the "for" attribute pointing to the id of the
inputText, and so I also have to specify the id for the inputText, which can
only be a static value.
I just tried to use a component-binding for the h:message tag of the
inputText to show an error message, but this also didn't work:
for (...) {
...
FacesContext context = FacesContext.getCurrentInstance();
this.dataModel.setRowIndex(i);
String clientID = this.messageAuswahlmoeglichkeit.getClientId(context);
context.addMessage(clientID, msg);
}
I tried the same with the inputText component-binding, also without success.
Do you know if this is possible, and how?
The problem is also, that I don't really understand how the
component-binding works for a component used inside a dataTable. Are there
many instances of this component used internally, one for each row, or how
does it work. I only know that I can access a component of a specific row by
using this.dataModel.setRowIndex()...
Regards,
Matthias
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Auftrag
> von Volker Weber
> Gesendet: Donnerstag, 5. Januar 2006 16:41
> An: MyFaces Discussion
> Betreff: Re: Problem text with inputText rendering behaviour in a
> dataTable
>
>
> Hi Matthias,
>
> Matthias Kahlau wrote:
> > Hi!
> >
> >
> > I have a strange problem using inputText in each row of dataTable.
> >
> > The inputText has a component-binding to a session-scoped Backing-Bean.
> >
> > I use an immediate commandButton to delete some selected rows.
> >
> > When the JSF page is redisplayed after deleting the last row
> with an empty
> > inputText, all inputText in the table are rendered empty, although model
> > values of these rows have been set before submitting the page
> to delete some
> > rows.
> >
> > This happens both with the delete action-method having a "null"
> return value
> > and a "non-null" return value pointing to the same page.
> >
> > I expected the inputText to render the component values if a
> "null" return
> > value is used, if the component values are "non-null", what is the case.
> >
> > And I expected the inputText to render the model values if a "non-null"
> > return value is used (because a new view had been created) -
> and the model
> > values are "non-null".
> > (But is it possible in this case, that the inputText component value is
> > rendered because of using component-binding, although a new View is
> > created?)
>
> You have a component binding on a component inside a dataTable? I don't
> know if this could be the reason for your problem, but i can't see any
> reason to have this. Did you access this component in your code?
>
> Can you test without this binding?
>
> Regards,
> Volker
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.