|
List Info
Thread: Issue in tab order of netui:data repeaters
|
|
| Issue in tab order of netui:data
repeaters |
  India |
2007-10-17 05:54:14 |
Hi,
Can anyone help us on this issue?
Description of the tab order problem we are facing
In our application we are using netui:data repeaters to
display the
values from arraylist or array (which contains values from
the
database). We have an issue regarding its usage that has
been explained
below:
There are 2 netui:data repeaters in a jsp, call them as A
and B, each of
them having 10 values.Now when we use tab key to move, the
tab order
goes through all the 10 values of Data repeater A and then
it moves to
the Data repeater B and covers all 10 values. The user wants
the cursor
to move to the first value of Data repeater A on first tab
hit and on
second tab it should go to 1st value of Data repeater B.
Similarly third
tab press should go to 2nd value of data repeater A and 4th
to 2nd value
of Data repeater B.
Our understanding of the problem
In our below example, we fetch the list of values and store
in string
array strAccountPurchaseSize. This string array is populated
with values
from database in DAO classes. The repeater tag binds to this
array and
starts rendering its body. After the repeater completes one
complete
iteration, the repeater for the next column starts rendering
the page.
Hence the tab order also works in the same manner as the way
the
repeater renders the data.
<netui-data:repeater
dataSource="{actionForm.strAccountPurchaseSize}"
ignoreNulls="true" >
<netui-data:repeaterItem>
<tr
align="center">
<td>
<netui:textBox tagId="account"
dataSource="{container.item}" size="30"
style="font-family:verdana;font-size:8pt" />
</td>
</tr>
</netui-data:repeaterItem>
</netui-data:repeater>
Things we have already tried:
1. We tried defining page flow variables in jsp and the
variable
was incremented for every page loading.
Eg:
private int tabIndexA = -1;
private int tabIndexB = 0;
public int getTabIndexA() {
tabIndexA = tabIndexA + 2;
return tabIndexA;
}
public int getTabIndexB() {
tabIndexB = tabIndexB + 2;
return tabIndexB;
}
Then in the repeater tag include the tabindex attribute
using an
expression to get the desired tab index value. For example,
<netui:textBox ...
tabindex="${pageFlow.tabIndexA}">
and
<netui:textBox ...
tabindex="${pageFlow.tabIndexB}">
2. We tried setting tabindex property of data repeaters.
Still the
tab order goes across the rows of the first column and then
moves to the
first row of the second column.
Thanks,
Vijaya
This e-mail and any files transmitted with it are for the
sole use of the intended recipient(s) and may contain
confidential and privileged information.
If you are not the intended recipient, please contact the
sender by reply e-mail and destroy all copies of the
original message.
Any unauthorized review, use, disclosure, dissemination,
forwarding, printing or copying of this email or any action
taken in reliance on this e-mail is strictly
prohibited and may be unlawful. |
|
| RE: Issue in tab order of netui:data
repeaters |

|
2007-10-17 07:15:03 |
What does the generated HTML look like? Can you verify that
the proper
numbers are being inserted into the rendered HTML?
-----Original Message-----
From: Vijaya.Ramachandran cognizant.com
[mailto:Vijaya.Ramachandran cognizant.com]
Sent: Wednesday, October 17, 2007 6:54 AM
To: user beehive.apache.org
Subject: Issue in tab order of netui:data repeaters
Hi,
Can anyone help us on this issue?
Description of the tab order problem we are facing
In our application we are using netui:data repeaters to
display the
values from arraylist or array (which contains values from
the
database). We have an issue regarding its usage that has
been explained
below:
There are 2 netui:data repeaters in a jsp, call them as A
and B, each of
them having 10 values.Now when we use tab key to move, the
tab order
goes through all the 10 values of Data repeater A and then
it moves to
the Data repeater B and covers all 10 values. The user wants
the cursor
to move to the first value of Data repeater A on first tab
hit and on
second tab it should go to 1st value of Data repeater B.
Similarly third
tab press should go to 2nd value of data repeater A and 4th
to 2nd value
of Data repeater B.
Our understanding of the problem
In our below example, we fetch the list of values and store
in string
array strAccountPurchaseSize. This string array is populated
with values
from database in DAO classes. The repeater tag binds to this
array and
starts rendering its body. After the repeater completes one
complete
iteration, the repeater for the next column starts rendering
the page.
Hence the tab order also works in the same manner as the way
the
repeater renders the data.
<netui-data:repeater
dataSource="{actionForm.strAccountPurchaseSize}"
ignoreNulls="true" >
<netui-data:repeaterItem>
<tr
align="center">
<td>
<netui:textBox tagId="account"
dataSource="{container.item}" size="30"
style="font-family:verdana;font-size:8pt" />
</td>
</tr>
</netui-data:repeaterItem>
</netui-data:repeater>
Things we have already tried:
1. We tried defining page flow variables in jsp and the
variable
was incremented for every page loading.
Eg:
private int tabIndexA = -1;
private int tabIndexB = 0;
public int getTabIndexA() {
tabIndexA = tabIndexA + 2;
return tabIndexA;
}
public int getTabIndexB() {
tabIndexB = tabIndexB + 2;
return tabIndexB;
}
Then in the repeater tag include the tabindex attribute
using an
expression to get the desired tab index value. For example,
<netui:textBox ...
tabindex="${pageFlow.tabIndexA}">
and
<netui:textBox ...
tabindex="${pageFlow.tabIndexB}">
2. We tried setting tabindex property of data repeaters.
Still the
tab order goes across the rows of the first column and then
moves to the
first row of the second column.
Thanks,
Vijaya
This e-mail and any files transmitted with it are for the
sole use of
the intended recipient(s) and may contain confidential and
privileged
information.
If you are not the intended recipient, please contact the
sender by
reply e-mail and destroy all copies of the original message.
Any unauthorized review, use, disclosure, dissemination,
forwarding,
printing or copying of this email or any action taken in
reliance on
this e-mail is strictly prohibited and may be unlawful.
Notice: This email message, together with any attachments,
may contain information of BEA Systems, Inc., its
subsidiaries and affiliated entities, that may be
confidential, proprietary, copyrighted and/or legally
privileged, and is intended solely for the use of the
individual or entity named in this message. If you are not
the intended recipient, and have received this message in
error, please immediately return this by email and then
delete it.
|
|
| Re: Issue in tab order of netui:data
repeaters |

|
2007-10-18 03:52:43 |
Vijaya,
I think you're using an early version of NetUI that shipped
with
WebLogic 8.1. The expressions and tags are a little
different.
However, you can make this work using the
<netui:attribute> tag with a
page flow expression similar to the example I posted earlier
to get
the value of the tabindex from the page flow and set a
tabindex
attribute on the textBox. Try this...
<netui:textBox
dataSource="{container.item}">
<netui:attribute name="tabindex"
value="{pageFlow.tabIndexA}"/>
</netui:textBox>
Kind regards,
Carlin
On 10/17/07, Scott Hammer <shammer bea.com> wrote:
> What does the generated HTML look like? Can you verify
that the proper
> numbers are being inserted into the rendered HTML?
>
>
> -----Original Message-----
> From: Vijaya.Ramachandran cognizant.com
> [mailto:Vijaya.Ramachandran cognizant.com]
> Sent: Wednesday, October 17, 2007 6:54 AM
> To: user beehive.apache.org
> Subject: Issue in tab order of netui:data repeaters
>
>
> Hi,
>
>
>
> Can anyone help us on this issue?
>
>
>
> Description of the tab order problem we are facing
>
> In our application we are using netui:data repeaters to
display the
> values from arraylist or array (which contains values
from the
> database). We have an issue regarding its usage that
has been explained
> below:
>
> There are 2 netui:data repeaters in a jsp, call them as
A and B, each of
> them having 10 values.Now when we use tab key to move,
the tab order
> goes through all the 10 values of Data repeater A and
then it moves to
> the Data repeater B and covers all 10 values. The user
wants the cursor
> to move to the first value of Data repeater A on first
tab hit and on
> second tab it should go to 1st value of Data repeater
B. Similarly third
> tab press should go to 2nd value of data repeater A and
4th to 2nd value
> of Data repeater B.
>
>
>
> Our understanding of the problem
>
>
>
> In our below example, we fetch the list of values and
store in string
> array strAccountPurchaseSize. This string array is
populated with values
> from database in DAO classes. The repeater tag binds to
this array and
> starts rendering its body. After the repeater completes
one complete
> iteration, the repeater for the next column starts
rendering the page.
> Hence the tab order also works in the same manner as
the way the
> repeater renders the data.
>
>
<netui-data:repeater
>
dataSource="{actionForm.strAccountPurchaseSize}"
ignoreNulls="true" >
>
> <netui-data:repeaterItem>
>
<tr
> align="center">
>
<td>
>
> <netui:textBox tagId="account"
dataSource="{container.item}" size="30"
> style="font-family:verdana;font-size:8pt"
/>
>
</td>
>
</tr>
>
> </netui-data:repeaterItem>
>
> </netui-data:repeater>
>
>
>
> Things we have already tried:
>
>
>
> 1. We tried defining page flow variables in jsp
and the variable
> was incremented for every page loading.
>
> Eg:
>
> private int tabIndexA = -1;
>
> private int tabIndexB = 0;
>
> public int getTabIndexA() {
>
> tabIndexA = tabIndexA + 2;
>
> return tabIndexA;
>
> }
>
> public int getTabIndexB() {
>
> tabIndexB = tabIndexB + 2;
>
> return tabIndexB;
>
> }
>
> Then in the repeater tag include the tabindex attribute
using an
> expression to get the desired tab index value. For
example,
>
> <netui:textBox ...
tabindex="${pageFlow.tabIndexA}">
>
> and
>
> <netui:textBox ...
tabindex="${pageFlow.tabIndexB}">
>
>
>
> 2. We tried setting tabindex property of data
repeaters. Still the
> tab order goes across the rows of the first column and
then moves to the
> first row of the second column.
>
>
>
> Thanks,
>
> Vijaya
>
>
>
>
>
> This e-mail and any files transmitted with it are for
the sole use of
> the intended recipient(s) and may contain confidential
and privileged
> information.
> If you are not the intended recipient, please contact
the sender by
> reply e-mail and destroy all copies of the original
message.
> Any unauthorized review, use, disclosure,
dissemination, forwarding,
> printing or copying of this email or any action taken
in reliance on
> this e-mail is strictly prohibited and may be
unlawful.
>
> Notice: This email message, together with any
attachments, may contain information of BEA Systems,
Inc., its subsidiaries and affiliated entities, that may
be confidential, proprietary, copyrighted and/or legally
privileged, and is intended solely for the use of the
individual or entity named in this message. If you are not
the intended recipient, and have received this message in
error, please immediately return this by email and then
delete it.
>
|
|
| Re: Issue in tab order of netui:data
repeaters |

|
2007-10-19 13:47:40 |
Vijaya--
You can also do the same tab index calculations for tables
A and B
in the JSP itself using scriptlets that implement the UI
rendering
calculations for each table's tab indexes. This will make
the page
more obvious (ie easier to debug) as well as helping it
render faster
by avoiding expression evaluations that call back to the
page flow for
each tab index.
The example below is based on Beehive; if you're using
Workshop 8.1,
replace the tabIndex variable with the
<netui:attribute> idiom Carlin
mentioned.
An example is below.
Cheers,
Eddie
============================
<%
int tabIndex = 1; // the starting tab index value
int tabSkip = 1; // tabSkip is the number of HTML
form
fields in each table
int tableATabIndex = -1; // the tab index value for table
A
int tableBTabIndex = -1; // the tab index value for table
B
%>
<span style="font-weight:bold">Repeating
Tab Index</span>
<netui:form action="updateMenu">
<netui:anchor formSubmit="true"
tabindex="<%= tabIndex++
%>">Update</netui:anchor><br/>
<%--
Set the starting points for table A's tab index and table
B's tab
index. This could be done
with simple equations to calculate the running index using
only the
tabIndex, but this
example is slightly more obvious. tableATabIndex and
tableBTabIndex just
keep independent track of the tab index for the next form
element in
each table.
--%>
<%
tableATabIndex = tabIndex;
tableBTabIndex = tabIndex+tabSkip;
%>
<span style="font-weight:bold">Table
A</span>
<table style="border-width: 2px;
border-spacing:0px; border-style:solid;">
<tr>
<th>Item</th>
<th>Quantity</th>
</tr>
<netui-data:repeater
dataSource="actionForm.items">
<tr>
<td>${container.item.name}</td>
<td><netui:textBox
dataSource="container.item.quantity"
tabindex="<%=
tableATabIndex++ %>"/></td>
<%-- Set the next tableATabIndex --%>
<% tableATabIndex += tabSkip; %>
</tr>
</netui-data:repeater>
</table>
<span style="font-weight:bold">Table
B</span>
<table style="border-width: 2px;
border-spacing:0px; border-style:solid;">
<tr>
<th>Item</th>
<th>Quantity</th>
</tr>
<netui-data:repeater
dataSource="actionForm.items">
<tr>
<td>${container.item.name}</td>
<td><netui:textBox
dataSource="container.item.quantity"
tabindex="<%=
tableBTabIndex++ %>"/></td>
<%-- Set the next tableBTabIndex --%>
<% tableBTabIndex += tabSkip; %>
</tr>
</netui-data:repeater>
</table>
<%--
After both tables have been rendered, set the tabIndex
based on
the last tab
index from Table B so that subsequent tab indexes are
calculated
correctly.
--%>
<% tabIndex = tableBTabIndex+1; %>
<netui:anchor formSubmit="true"
tabindex="<%= tabIndex++
%>">Update</netui:anchor>
</netui:form>
============================
On 10/18/07, Carlin Rogers <carlin.rogers gmail.com> wrote:
> Vijaya,
>
> I think you're using an early version of NetUI that
shipped with
> WebLogic 8.1. The expressions and tags are a little
different.
> However, you can make this work using the
<netui:attribute> tag with a
> page flow expression similar to the example I posted
earlier to get
> the value of the tabindex from the page flow and set a
tabindex
> attribute on the textBox. Try this...
>
> <netui:textBox
dataSource="{container.item}">
> <netui:attribute name="tabindex"
value="{pageFlow.tabIndexA}"/>
> </netui:textBox>
>
> Kind regards,
> Carlin
>
> On 10/17/07, Scott Hammer <shammer bea.com> wrote:
> > What does the generated HTML look like? Can you
verify that the proper
> > numbers are being inserted into the rendered
HTML?
> >
> >
> > -----Original Message-----
> > From: Vijaya.Ramachandran cognizant.com
> > [mailto:Vijaya.Ramachandran cognizant.com]
> > Sent: Wednesday, October 17, 2007 6:54 AM
> > To: user beehive.apache.org
> > Subject: Issue in tab order of netui:data
repeaters
> >
> >
> > Hi,
> >
> >
> >
> > Can anyone help us on this issue?
> >
> >
> >
> > Description of the tab order problem we are
facing
> >
> > In our application we are using netui:data
repeaters to display the
> > values from arraylist or array (which contains
values from the
> > database). We have an issue regarding its usage
that has been explained
> > below:
> >
> > There are 2 netui:data repeaters in a jsp, call
them as A and B, each of
> > them having 10 values.Now when we use tab key to
move, the tab order
> > goes through all the 10 values of Data repeater A
and then it moves to
> > the Data repeater B and covers all 10 values. The
user wants the cursor
> > to move to the first value of Data repeater A on
first tab hit and on
> > second tab it should go to 1st value of Data
repeater B. Similarly third
> > tab press should go to 2nd value of data repeater
A and 4th to 2nd value
> > of Data repeater B.
> >
> >
> >
> > Our understanding of the problem
> >
> >
> >
> > In our below example, we fetch the list of values
and store in string
> > array strAccountPurchaseSize. This string array is
populated with values
> > from database in DAO classes. The repeater tag
binds to this array and
> > starts rendering its body. After the repeater
completes one complete
> > iteration, the repeater for the next column starts
rendering the page.
> > Hence the tab order also works in the same manner
as the way the
> > repeater renders the data.
> >
> >
<netui-data:repeater
> >
dataSource="{actionForm.strAccountPurchaseSize}"
ignoreNulls="true" >
> >
> > <netui-data:repeaterItem>
> >
<tr
> > align="center">
> >
<td>
> >
> > <netui:textBox tagId="account"
dataSource="{container.item}" size="30"
> >
style="font-family:verdana;font-size:8pt" />
> >
</td>
> >
</tr>
> >
> > </netui-data:repeaterItem>
> >
> > </netui-data:repeater>
> >
> >
> >
> > Things we have already tried:
> >
> >
> >
> > 1. We tried defining page flow variables in
jsp and the variable
> > was incremented for every page loading.
> >
> > Eg:
> >
> > private int tabIndexA = -1;
> >
> > private int tabIndexB = 0;
> >
> > public int getTabIndexA() {
> >
> > tabIndexA = tabIndexA + 2;
> >
> > return tabIndexA;
> >
> > }
> >
> > public int getTabIndexB() {
> >
> > tabIndexB = tabIndexB + 2;
> >
> > return tabIndexB;
> >
> > }
> >
> > Then in the repeater tag include the tabindex
attribute using an
> > expression to get the desired tab index value. For
example,
> >
> > <netui:textBox ...
tabindex="${pageFlow.tabIndexA}">
> >
> > and
> >
> > <netui:textBox ...
tabindex="${pageFlow.tabIndexB}">
> >
> >
> >
> > 2. We tried setting tabindex property of data
repeaters. Still the
> > tab order goes across the rows of the first column
and then moves to the
> > first row of the second column.
> >
> >
> >
> > Thanks,
> >
> > Vijaya
> >
> >
> >
> >
> >
> > This e-mail and any files transmitted with it are
for the sole use of
> > the intended recipient(s) and may contain
confidential and privileged
> > information.
> > If you are not the intended recipient, please
contact the sender by
> > reply e-mail and destroy all copies of the
original message.
> > Any unauthorized review, use, disclosure,
dissemination, forwarding,
> > printing or copying of this email or any action
taken in reliance on
> > this e-mail is strictly prohibited and may be
unlawful.
> >
> > Notice: This email message, together with any
attachments, may contain information of BEA Systems,
Inc., its subsidiaries and affiliated entities, that may
be confidential, proprietary, copyrighted and/or legally
privileged, and is intended solely for the use of the
individual or entity named in this message. If you are not
the intended recipient, and have received this message in
error, please immediately return this by email and then
delete it.
> >
>
|
|
[1-4]
|
|