You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Mathias Werlitz (JIRA)" <my...@incubator.apache.org> on 2005/05/04 16:19:28 UTC
[jira] Created: (MYFACES-229) DataList does not work correctly like a DataTable with input components
DataList does not work correctly like a DataTable with input components
-----------------------------------------------------------------------
Key: MYFACES-229
URL: http://issues.apache.org/jira/browse/MYFACES-229
Project: MyFaces
Type: Bug
Versions: 1.0.9 beta
Reporter: Mathias Werlitz
I have a problem using the DataList component. I would like to use input components within it, but the model isn't updated at all. I use a List a the DataList value.
If I use a DataTable instead everything works fine.
here an example - does NOT work:
<h:form>
<x:dataList id="foo" var="item"
value="#{myBean.items}" >
<h:inputText value="#{item.value}" />
</x:dataList>
<h:commandButton action="save" />
</h:form>
but this works:
<h:form>
<h:dataTable id="foo" var="item"
value="#{myBean.items}" >
<h:inputText value="#{item.value}" />
</h:dataTable>
<h:commandButton action="save" />
</h:form>
I'm not very familia with svn and the patch generation so i will submit my solution here. Some of the developers only has to c&p the code ;)
PROBLEM: Unimplemented methods in org.apache.myfaces.custom.datalist.HtmlDataList
public void processUpdates(FacesContext context);
public void processValidators(FacesContext context)
SOLUTION:
public void processUpdates(FacesContext context) {
int first = getFirst();
int rows = getRows();
int last;
if (rows == 0)
{
last = getRowCount();
}
else
{
last = first + rows;
}
for (int rowIndex = first; rowIndex < last; rowIndex++)
{
setRowIndex(rowIndex);
if (isRowAvailable())
{
for (Iterator it = getChildren().iterator(); it.hasNext();)
{
UIComponent child = (UIComponent)it.next();
if (!child.isRendered())
{
continue;
}
child.processUpdates(context);
}
}
}
setRowIndex(-1);
}
public void processValidators(FacesContext context) {
int first = getFirst();
int rows = getRows();
int last;
if (rows == 0)
{
last = getRowCount();
}
else
{
last = first + rows;
}
for (int rowIndex = first; rowIndex < last; rowIndex++)
{
setRowIndex(rowIndex);
if (isRowAvailable())
{
for (Iterator it = getChildren().iterator(); it.hasNext();)
{
UIComponent child = (UIComponent)it.next();
if (!child.isRendered())
{
continue;
}
child.processValidators(context);
}
}
}
setRowIndex(-1);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Created: (MYFACES-229) DataList does not work correctly like a DataTable with input components
Posted by Martin Marinschek <ma...@gmail.com>.
I will commit the changes.
regards,
Martin
On 5/4/05, Mathias Werlitz (JIRA) <my...@incubator.apache.org> wrote:
> DataList does not work correctly like a DataTable with input components
> -----------------------------------------------------------------------
>
> Key: MYFACES-229
> URL: http://issues.apache.org/jira/browse/MYFACES-229
> Project: MyFaces
> Type: Bug
> Versions: 1.0.9 beta
> Reporter: Mathias Werlitz
>
> I have a problem using the DataList component. I would like to use input components within it, but the model isn't updated at all. I use a List a the DataList value.
> If I use a DataTable instead everything works fine.
>
> here an example - does NOT work:
>
> <h:form>
> <x:dataList id="foo" var="item"
> value="#{myBean.items}" >
> <h:inputText value="#{item.value}" />
> </x:dataList>
>
> <h:commandButton action="save" />
> </h:form>
>
> but this works:
>
> <h:form>
> <h:dataTable id="foo" var="item"
> value="#{myBean.items}" >
> <h:inputText value="#{item.value}" />
> </h:dataTable>
>
> <h:commandButton action="save" />
> </h:form>
>
> I'm not very familia with svn and the patch generation so i will submit my solution here. Some of the developers only has to c&p the code ;)
>
> PROBLEM: Unimplemented methods in org.apache.myfaces.custom.datalist.HtmlDataList
>
> public void processUpdates(FacesContext context);
> public void processValidators(FacesContext context)
>
> SOLUTION:
>
> public void processUpdates(FacesContext context) {
> int first = getFirst();
> int rows = getRows();
> int last;
> if (rows == 0)
> {
> last = getRowCount();
> }
> else
> {
> last = first + rows;
> }
> for (int rowIndex = first; rowIndex < last; rowIndex++)
> {
> setRowIndex(rowIndex);
> if (isRowAvailable())
> {
> for (Iterator it = getChildren().iterator(); it.hasNext();)
> {
> UIComponent child = (UIComponent)it.next();
> if (!child.isRendered())
> {
> continue;
> }
> child.processUpdates(context);
> }
> }
> }
>
> setRowIndex(-1);
> }
>
> public void processValidators(FacesContext context) {
> int first = getFirst();
> int rows = getRows();
> int last;
> if (rows == 0)
> {
> last = getRowCount();
> }
> else
> {
> last = first + rows;
> }
> for (int rowIndex = first; rowIndex < last; rowIndex++)
> {
> setRowIndex(rowIndex);
> if (isRowAvailable())
> {
> for (Iterator it = getChildren().iterator(); it.hasNext();)
> {
> UIComponent child = (UIComponent)it.next();
> if (!child.isRendered())
> {
> continue;
> }
> child.processValidators(context);
> }
> }
> }
>
> setRowIndex(-1);
> }
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
>
>
[jira] Closed: (MYFACES-229) DataList does not work correctly like a DataTable with input components
Posted by "Martin Marinschek (JIRA)" <my...@incubator.apache.org>.
[ http://issues.apache.org/jira/browse/MYFACES-229?page=all ]
Martin Marinschek closed MYFACES-229:
-------------------------------------
Resolution: Fixed
Fix Version: Nightly Build
patch by Mathias Werlitz
> DataList does not work correctly like a DataTable with input components
> -----------------------------------------------------------------------
>
> Key: MYFACES-229
> URL: http://issues.apache.org/jira/browse/MYFACES-229
> Project: MyFaces
> Type: Bug
> Versions: 1.0.9 beta
> Reporter: Mathias Werlitz
> Fix For: Nightly Build
>
> I have a problem using the DataList component. I would like to use input components within it, but the model isn't updated at all. I use a List a the DataList value.
> If I use a DataTable instead everything works fine.
> here an example - does NOT work:
> <h:form>
> <x:dataList id="foo" var="item"
> value="#{myBean.items}" >
> <h:inputText value="#{item.value}" />
> </x:dataList>
>
> <h:commandButton action="save" />
> </h:form>
> but this works:
> <h:form>
> <h:dataTable id="foo" var="item"
> value="#{myBean.items}" >
> <h:inputText value="#{item.value}" />
> </h:dataTable>
>
> <h:commandButton action="save" />
> </h:form>
> I'm not very familia with svn and the patch generation so i will submit my solution here. Some of the developers only has to c&p the code ;)
> PROBLEM: Unimplemented methods in org.apache.myfaces.custom.datalist.HtmlDataList
> public void processUpdates(FacesContext context);
> public void processValidators(FacesContext context)
> SOLUTION:
> public void processUpdates(FacesContext context) {
> int first = getFirst();
> int rows = getRows();
> int last;
> if (rows == 0)
> {
> last = getRowCount();
> }
> else
> {
> last = first + rows;
> }
> for (int rowIndex = first; rowIndex < last; rowIndex++)
> {
> setRowIndex(rowIndex);
> if (isRowAvailable())
> {
> for (Iterator it = getChildren().iterator(); it.hasNext();)
> {
> UIComponent child = (UIComponent)it.next();
> if (!child.isRendered())
> {
> continue;
> }
> child.processUpdates(context);
> }
> }
> }
> setRowIndex(-1);
> }
>
> public void processValidators(FacesContext context) {
> int first = getFirst();
> int rows = getRows();
> int last;
> if (rows == 0)
> {
> last = getRowCount();
> }
> else
> {
> last = first + rows;
> }
> for (int rowIndex = first; rowIndex < last; rowIndex++)
> {
> setRowIndex(rowIndex);
> if (isRowAvailable())
> {
> for (Iterator it = getChildren().iterator(); it.hasNext();)
> {
> UIComponent child = (UIComponent)it.next();
> if (!child.isRendered())
> {
> continue;
> }
> child.processValidators(context);
> }
> }
> }
> setRowIndex(-1);
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira