My suggestion should have gotten you thinking along the right lines...
To get rid of that warning message and still have the components line
up, you need only add two lines, and modify one.
The relevant changes are the following:
line 14: columns="1"
line 18: <h:panelGrid columns="7">
line 106: </h:panelGrid>
I've tested this on JBoss for you, and it works. You're welcome.
Here is the complete (modified) source:
<t:panelTabbedPane
id="searchTabs"
bgcolor="#FFFFFF"
cellpadding="0"
cellspacing="0"
width="100%"
serverSideTabSwitch="client">
<t:panelTab id="tab1" label="#{tb.tbFindTabFF}">
<h:panelGrid
id="tabSearch"
rowClasses="tbcell"
headerClass="instructions"
footerClass="cd"
columns="1"
width="1000"
bgcolor="#FFFFFF">
<h:panelGrid columns="7">
<h:outputLabel for="transType">
<h:outputText value="#{tb.tbBaseTType}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transStartDate">
<h:outputText value="#{tb.tbStartDate}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transStartTime">
<h:outputText value="#{tb.tbStartTime}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transEndDate">
<h:outputText value="#{tb.tbEndDate}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transEndTime">
<h:outputText value="#{tb.tbEndTime}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="clientID">
<h:outputText value="#{tb.tbClientID}" styleClass="Paginator"/>
</h:outputLabel>
<h:outputLabel for="transFind">
<h:outputText value="#{tb.tbFind}" styleClass="Paginator"/>
</h:outputLabel>
<h:selectOneMenu
id="transType"
required="true"
value="#{tbrowser.currentTransType}">
<f:selectItems value="#{tbrowser.transType}"/>
</h:selectOneMenu>
<t:inputCalendar
size="8"
id="transStartDate"
monthYearRowClass="yearMonthHeader"
weekRowClass="weekHeader"
currentDayCellClass="currentDayCell"
renderAsPopup="true"
popupTodayString="Today is"
popupWeekString="Wk"
renderPopupButtonAsImage="false"
required="true"
value="#{tbrowser.currentTransStartDate}"
helpText="MM/DD/YYYY"/>
<h:selectOneMenu
id="transStartTime"
required="true"
value="#{tbrowser.currentTransStartTime}">
<f:selectItems value="#{tbrowser.transStartTime}"/>
</h:selectOneMenu>
<t:inputCalendar
size="8"
id="transEndDate"
monthYearRowClass="yearMonthHeader"
weekRowClass="weekHeader"
currentDayCellClass="currentDayCell"
renderAsPopup="true"
popupTodayString="Today is"
popupWeekString="Wk"
renderPopupButtonAsImage="false"
required="true"
value="#{tbrowser.currentTransEndDate}"
helpText="MM/DD/YYYY"/>
<h:selectOneMenu
id="transEndTime"
required="true"
value="#{tbrowser.currentTransEndTime}">
<f:selectItems value="#{tbrowser.transEndTime}"/>
</h:selectOneMenu>
<h:selectOneMenu
id="clientID"
value="#{tbrowser.currentClientID}"
required="true">
<f:selectItems value="#{tbrowser.tbClientID}"/>
</h:selectOneMenu>
<h:inputText id="transFind" maxlength="20" size="20"/>
</h:panelGrid>
<h:panelGroup>
<h:commandButton value="Search"
actionListener="#{tbrowser.transTypeSelected}"/>
<h:messages id="transTypeError" styleClass="error"/>
<f:verbatim>
<br>
</f:verbatim>
<h:outputText binding="#{tbrowser.selItemsOutput}"/>
</h:panelGroup>
</h:panelGrid>
</t:panelTab>
Todd Patrick wrote:
Actually no.
I want each label component rendered in their own <td> element, the same
goes for each input component.
Your suggestion renders (the labels for example) as noted below. All
seven labels in one <td> element.
Thus, none of the labels and input components line up in the first two
rows.
I just want the single panelGroup on the third line by itself, like:
x x x x x x x
x x x x x x x
x
Thanks,
--Todd
<tr class="tbcell">
<td>
<label for="tbForm:transType">
<span class="Paginatorhighlight">Base Transaction Type*</span>
</label>
<label for="tbForm:transStartDate">
<span class="Paginatorhighlight">Start Date*</span>
</label>
<label for="tbForm:transStartTime">
<span class="Paginatorhighlight">Start Time*</span>
</label>
<label for="tbForm:transEndDate">
<span class="Paginatorhighlight">End Date*</span>
</label>
<label for="tbForm:transEndTime">
<span class="Paginatorhighlight">End Time*</span>
</label>
<label for="tbForm:clientID">
<span class="Paginator">Client ID</span>
</label>
<label for="tbForm:transFind">
<span class="Paginator">Filter</span>
</label>
</td>
</tr>
-----Original Message-----
From: Jeff Bischoff [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 07, 2006 9:07 AM
To: MyFaces Discussion
Subject: Re: Warning message: Child count should be a multiple of the
columns attribute?
ummm... this almost seems *too* easy, but why not just make the first
two lines into panelGroups, just like you did the third line?
<h:panelGroup>
...labels...
</h:panelGroup>
<h:panelGroup>
...
</h:panelGroup>
<h:panelGroup>
<h:commandButton value="Search"
actionListener="#{tbrowser.transTypeSelected}"/>
<h:messages id="transTypeError"
styleClass="error"/>
<f:verbatim><br></f:verbatim>
<h:outputText
binding="#{tbrowser.selItemsOutput}"/>
</h:panelGroup>
And then you can make the columns="1" ...
Regards,
Jeff Bischoff
Kenneth L Kurz & Assoc, Inc.
Todd Patrick wrote:
Whoa???
Since I have an odd number (15), I'd like my components displayed as:
x x x x x x x
x x x x x x x
x
(each x represents a JSF component)
The odd one by itself is a h:panelGroup that contains a commandButton,
messages, verbatim and an outputText component.
What would I specify for the columns attribute?
<h:panelGrid
id="tabSearch"
rowClasses="tbcell"
headerClass="instructions"
footerClass="cd"
columns="?"
width="1000"
bgcolor="#FFFFFF">
I'd to keep the seven (7) labels together, the seven (7) input and
select components together and have the h:panelGroup on it's own line.
Thanks,
--Todd
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Matthias Wessendorf
Sent: Tuesday, June 06, 2006 11:21 AM
To: MyFaces Discussion
Subject: Re: Warning message: Child count should be a multiple of the
columns attribute?
You are welcome.
Everbody makes mistakes...
On 6/6/06, Todd Patrick <[EMAIL PROTECTED]> wrote:
Ha!
Your right. Sorry about that guys.
Thanks,
--Todd
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Matthias Wessendorf
Sent: Tuesday, June 06, 2006 11:09 AM
To: MyFaces Discussion
Subject: Re: Warning message: Child count should be a multiple of the
columns attribute?
me too
On 6/6/06, Jeff Bischoff <[EMAIL PROTECTED]> wrote:
I count 15 total components, Todd
Todd Patrick wrote:
The warning message I am receiving is:
"PanelGrid tbForm:tabSearch has not enough children. Child count
should be a multiple of the columns attribute."
Below is the code snippet. I have fourteen (14) total components and
I'd like seven (7) on each row, thus I defined the columns attribute
value as seven (7).
Why would this cause an warning?
Thanks,
--Todd
<t:panelTabbedPane
id="searchTabs"
bgcolor="#FFFFFF"
cellpadding="0"
cellspacing="0"
width="100%"
serverSideTabSwitch="client">
<t:panelTab id="tab1" label="#{tb.tbFindTabFF}"> <h:panelGrid
id="tabSearch"
rowClasses="tbcell"
headerClass="instructions"
footerClass="cd"
columns="7"
width="1000"
bgcolor="#FFFFFF">
<h:outputLabel for="transType">
<h:outputText value="#{tb.tbBaseTType}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transStartDate">
<h:outputText value="#{tb.tbStartDate}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transStartTime">
<h:outputText value="#{tb.tbStartTime}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transEndDate">
<h:outputText value="#{tb.tbEndDate}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="transEndTime">
<h:outputText value="#{tb.tbEndTime}"
styleClass="Paginatorhighlight"/>
</h:outputLabel>
<h:outputLabel for="clientID">
<h:outputText value="#{tb.tbClientID}"
styleClass="Paginator"/>
</h:outputLabel>
<h:outputLabel for="transFind">
<h:outputText value="#{tb.tbFind}" styleClass="Paginator"/>
</h:outputLabel>
<h:selectOneMenu
id="transType"
required="true"
value="#{tbrowser.currentTransType}">
<f:selectItems value="#{tbrowser.transType}"/>
</h:selectOneMenu>
<t:inputCalendar
size="8"
id="transStartDate"
monthYearRowClass="yearMonthHeader"
weekRowClass="weekHeader"
currentDayCellClass="currentDayCell"
renderAsPopup="true"
popupTodayString="Today is"
popupWeekString="Wk"
renderPopupButtonAsImage="false"
required="true"
value="#{tbrowser.currentTransStartDate}"
helpText="MM/DD/YYYY"/>
<h:selectOneMenu
id="transStartTime"
required="true"
value="#{tbrowser.currentTransStartTime}">
<f:selectItems value="#{tbrowser.transStartTime}"/>
</h:selectOneMenu>
<t:inputCalendar
size="8"
id="transEndDate"
monthYearRowClass="yearMonthHeader"
weekRowClass="weekHeader"
currentDayCellClass="currentDayCell"
renderAsPopup="true"
popupTodayString="Today is"
popupWeekString="Wk"
renderPopupButtonAsImage="false"
required="true"
value="#{tbrowser.currentTransEndDate}"
helpText="MM/DD/YYYY"/>
<h:selectOneMenu
id="transEndTime"
required="true"
value="#{tbrowser.currentTransEndTime}">
<f:selectItems value="#{tbrowser.transEndTime}"/>
</h:selectOneMenu>
<h:selectOneMenu
id="clientID"
value="#{tbrowser.currentClientID}"
required="true">
<f:selectItems value="#{tbrowser.tbClientID}"/>
</h:selectOneMenu>
<h:inputText id="transFind" maxlength="20" size="20"/>
<h:panelGroup>
<h:commandButton value="Search"
actionListener="#{tbrowser.transTypeSelected}"/>
<h:messages id="transTypeError" styleClass="error"/>
<f:verbatim>
<br>
</f:verbatim>
<h:outputText binding="#{tbrowser.selItemsOutput}"/>
</h:panelGroup>
</h:panelGrid>
</t:panelTab>
--
Matthias Wessendorf
Aechterhoek 18
48282 Emsdetten
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com
--
Matthias Wessendorf
Aechterhoek 18
48282 Emsdetten
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com