P.S.:
this is out of UIData
regards,
Martin
On 1/1/06, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> You are right. There is something broken here.
>
> The encodeInnerHTML method should work just like the following code:
>
> int first = getFirst();
> int rows = getRows();
> int last;
> if (rows == 0)
> {
> last = getRowCount();
> }
> else
> {
> last = first + rows;
> }
> for (int rowIndex = first; last==-1 || rowIndex < last; rowIndex++)
> {
> setRowIndex(rowIndex);
>
> //scrolled past the last row
> if (!isRowAvailable())
> break;
>
> for (Iterator it = getChildren().iterator(); it.hasNext();)
> {
> UIComponent child = (UIComponent) it.next();
> if (child instanceof UIColumn)
> {
> if (!child.isRendered())
> {
> //Column is not visible
> continue;
> }
> for (Iterator columnChildIter = child.getChildren()
> .iterator(); columnChildIter.hasNext();)
> {
> UIComponent columnChild = (UIComponent)
> columnChildIter
> .next();
> process(context, columnChild, processAction);
> }
> }
> }
> }
>
> regards,
>
> Martin
> On 1/1/06, Mike <[EMAIL PROTECTED]> wrote:
> > Hi Pichai,
> >
> > I had tried to use a resultset for a Data Table too, but was never able to
> > get it to work. Once I switched to another data model, it worked instantly.
> > The Apache site still says that the ResultSet isn't yet supported.
> >
> > From:
> > http://myfaces.apache.org/tomahawk/extDataTable.html:
> >
> > What data types are supported?
> > To be able to save the state of the DataModel the row objects must be
> > serializable. All standard DataModel types are supported, except ResultSet,
> > which will follow in one of the next releases,
> >
> > HTH
> >
> > Mike
> >
> >
> >
> >
> > Pichai Ongvasith wrote:
> > Hello,
> >
> > I tried to use a ResultSetDataModel as the data model for <t:dataTable>,
> > with myfaces1.1.1. It turns out that the result never shows up in the table.
> > My guess is that this might be related to Jira issue MYFACES-278.
> >
> > Looking into the source code, I guess
> > HtmlTableRendererBase.encodeInnerHtml is doing the job to
> > render the result set.
> > this is the excerpt of relevant code.
> > int first = uiData.getFirst();
> > int rows = uiData.getRows();
> > int rowCount = uiData.getRowCount();
> > if (rows <= 0)
> > {
> > rows = rowCount - first;
> > }
> > int last = first + rows;
> > if (last > rowCount)
> > last = rowCount;
> >
> > for (int i = first; i < last; i++)
> > { // render
> > }
> >
> > If that's true, the method might be mishandling the uiData.getRowCount.
> > The implementation of ResultSetDataModel.getRowCount in myfaces1.1.1 always
> > return -1, which is valid when the row count is unknown at the time. So
> > before the rendering loop, last is always -1, and nothing would be rendered.
> >
> > Or am I missing something here?
> >
> > pichai
> >
> >
> >
> >
> >
>
>
> --
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces