Author: ekoneil
Date: Wed Aug 11 20:56:28 2004
New Revision: 36267

Added:
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/Controller.jpf
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/index.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml
   (contents, props changed)
Modified:
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/PagerService.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Log:
Build out and test the ability of the data grid API to facilitate authoring of 
a custom pager.

This enables a few JSP 2.0 EL bindable JavaBean properties on the PagerModel 
that expose the URL parameter values that could be posted depending on which 
page is selected.  The key to use in the URL is also exposed.

Fix a bug in the data grid that prevented the use of a <netui:select> tag from 
being nested inside.  

Test the API by writing a custom pager in a .tag file called jumpToPage.  This 
can be used inside of the data grid to render a combobox that allows a page to 
be picked from the list of all pages, which causes the page to refresh with 
data from the new page.

DRT: NetUI pass
BVT: NetUI pass



Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/PagerModel.java
      Wed Aug 11 20:56:28 2004
@@ -88,6 +88,24 @@
 
     public int getNextPage() {return _nextPage;}
 
+    public String[] getPageParamValues()
+    {
+        String[] params = new String[getLastPage()];
+
+        for(int i = 1; i <= params.length; i++)
+        {
+            params[i-1] = _pagerService.buildQueryParamValueForPage(i);
+        }
+
+        return params;
+    }
+
+    public String getPageParamKey()
+    {
+        return PagerService.DEFAULT_PAGE_PARAM_NAME;
+    }
+
+
     public int getCurrentPage()
     {
         if(_currentPage == null)
@@ -102,48 +120,6 @@
         _currentPage = new Integer(currentPage);
     }
 
-/*
-    public String getOutput()
-    {
-        StringBuilder buf = new StringBuilder();
-        render(buf);
-        return buf.toString();
-    }
-
-    public String render()
-    {
-        StringBuilder buf = new StringBuilder();
-        render(buf);
-        return buf.toString();
-    }
-
-    private void render(StringBuilder buf)
-    {
-        calculatePageBoundaries();
-
-        if(_logger.isDebugEnabled())
-        {
-            _logger.debug("render a pager for data grid \"" + _model.getName() 
+ "\"");
-            _logger.debug("data set size: " + _model.getDataSetSize());
-            _logger.debug("current page: " + _currentPage);
-            _logger.debug("last page: " + _lastPage);
-            _logger.debug("prev page: " + _prevPage);
-            _logger.debug("next page: " + _nextPage);
-        }
-
-        if(_dataSetSize == 0)
-        {
-            buf.append("No data to display");
-        }
-        else
-        {
-            if(_pagerStyle == PREV_NEXT_STYLE)
-                renderPrevNextStyle(buf);
-            else if(_pagerStyle == FIRST_PREV_NEXT_LAST_STYLE)
-                renderFirstLastPrevNextStyle(buf);
-        }
-    }
-*/
     private void calculatePageBoundaries()
     {
         assert _pagerService != null;

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/PagerService.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/PagerService.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/PagerService.java
 Wed Aug 11 20:56:28 2004
@@ -28,8 +28,8 @@
 public class PagerService
 {
     private static final Logger _logger = 
Logger.getInstance(PagerService.class);
-    private static String DEFAULT_PAGE_PARAM_NAME = "netui_page";
-    private static String DEFAULT_PAGE_SIZE_PARAM_NAME = "netui_pagesize";
+    public static String DEFAULT_PAGE_PARAM_NAME = "netui_page";
+    public static String DEFAULT_PAGE_SIZE_PARAM_NAME = "netui_pagesize";
 
     public static final PagerService getInstance(ServletRequest request, 
String namespace)
     {
@@ -142,36 +142,43 @@
         
     public String getCurrentPageParamString()
     {
-        return buildPageParamString((_currentPage != null ? 
_currentPage.intValue() : 1));
+        return buildQueryParamForPage((_currentPage != null ? 
_currentPage.intValue() : 1));
     }
     
     public String getNextPageQueryParam()
     {
-        return buildPageParamString((_currentPage != null ? 
_currentPage.intValue() + 1 : 2));
+        return buildQueryParamForPage((_currentPage != null ? 
_currentPage.intValue() + 1 : 2));
     }
 
     public String getPrevPageQueryParam()
     {
-        return buildPageParamString((_currentPage != null ? 
_currentPage.intValue() - 1 : 1));
+        return buildQueryParamForPage((_currentPage != null ? 
_currentPage.intValue() - 1 : 1));
     }
 
     public String buildQueryParamForPage(int page)
     {
-        return buildPageParamString(page);
+        StringBuilder sb = new StringBuilder();
+        if(page > 0)
+        {
+            sb.append(DEFAULT_PAGE_PARAM_NAME);
+            sb.append("=");
+            buildPageParamValueString(sb, page);
+        }
+        return sb.toString();
     }
 
-    private String buildPageParamString(int page)
+    public String buildQueryParamValueForPage(int page)
     {
-        StringBuffer buf = new StringBuffer();
-        if(page > -1)
-        {
-            buf.append(DEFAULT_PAGE_PARAM_NAME);
-            buf.append("=");
-            buf.append(_namespace);
-            buf.append(DELIM);
-            buf.append(page);
-        }
+        StringBuilder sb = new StringBuilder();
+        if(page > 0)
+            buildPageParamValueString(sb, page);
+        return sb.toString();
+    }
 
-        return buf.toString();
+    private void buildPageParamValueString(StringBuilder sb, int page)
+    {
+            sb.append(_namespace);
+            sb.append(DELIM);
+            sb.append(page);
     }
 }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
 Wed Aug 11 20:56:28 2004
@@ -46,6 +46,7 @@
     implements IDataAccessProvider
 {
     private static final Logger _logger = Logger.getInstance(DataGrid.class);
+    
     private static final StylePolicy DEFAULT_STYLE_POLICY = new 
DefaultStylePolicy();
     private static final StylePolicy EMPTY_STYLE_POLICY = new 
EmptyStylePolicy();
 
@@ -103,7 +104,6 @@
 
         // create the dataSource expression
         String dataSource = getDataSource();
-        dataSource = "{" + dataSource + "}";
 
         // ensure the dataSource is a valid expression
         ExpressionHandling expr = new ExpressionHandling(this);
@@ -271,7 +271,7 @@
 
     public String getDataSource()
     {
-        return _dataSource;
+        return "{" + _dataSource + "}";
     }
     
     public IDataAccessProvider getProviderParent()

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
       Wed Aug 11 20:56:28 2004
@@ -0,0 +1,70 @@
+<%@ tag body-content="empty" %>
+<%@ attribute name="dataGrid" required="true" type="java.lang.Object"%>
+
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
+<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
+<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
+
+<c:if test="${dataGrid.pagerModel.dataSetSize > 0}">
+  <netui:form action="doPage" tagId="pageForm">
+    Jump to Page:
+<%-- This is the simple pager that uses its own <select> tag --%>
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="${dataGrid.pagerModel.pageParamKey}" 
onchange="doPagerSubmit(this); return true;">
+    <netui-data:repeater 
dataSource="pageScope.dataGrid.pagerModel.pageParamValues">
+    <c:choose>
+      <c:when test="${container.index+1 == dataGrid.pagerModel.currentPage}">
+        <option value="${container.item}" 
selected="true">${container.index+1}</option>
+      </c:when>
+      <c:otherwise>
+        <option value="${container.item}">${container.index+1}</option>
+      </c:otherwise>
+    </c:choose>
+    </netui-data:repeater>
+  </select>
+    </netui:form>
+</c:if>
+
+<%-- This is the pager that uses the <netui:select> tag --%>
+<%--
+            <script type="text/javascript">
+              function doPagerSubmit(comp)
+              {
+                var form = document.forms[getNetuiTagName("pageForm",this)];
+                for(var e=0; e<form.length; e++)
+                  form.elements[e].disabled = "true";
+
+                var select = form.elements[getNetuiTagName("portfoliopager", 
comp)];
+                if(select != null && select.selectedIndex > 0)
+                {
+                  var option = select.options[select.selectedIndex];
+                  var value = option.value;
+                  var hidden = document.createElement('input');
+                  hidden.type = "hidden";
+                  hidden.name = "${dataGrid.pagerModel.pageParamKey}";
+                  hidden.value = value;
+                  form.appendChild(hidden);
+                  form.method="GET";
+                  form.submit();
+                }
+              }
+            </script>
+              <netui:select dataSource="actionForm.currentPage"
+                            
optionsDataSource="${dataGrid.pagerModel.pageParamValues}"
+                            defaultValue="${dataGrid.pagerModel.currentPage}"
+                            repeater="true"
+                            onChange="doPagerSubmit(this); return true;"
+                            tagId="portfoliopager">
+                <netui:selectOption repeatingType="Option" 
value="${container.item}">
+                    ${container.index+1}
+                </netui:selectOption>
+              </netui:select>
+--%>
\ No newline at end of file

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/Controller.jpf
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/Controller.jpf
       Wed Aug 11 20:56:28 2004
@@ -0,0 +1,60 @@
+/*
+ * B E A   S Y S T E M S
+ * Copyright 2002-2004  BEA Systems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package databinding.datagrid.pager.customselect;
+
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ *
+ */
[EMAIL PROTECTED]
+public class Controller
+    extends PageFlowController
+{
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp") 
+        })
+    public Forward begin()
+    {
+        return new Forward("success");
+    }
+
+    @Jpf.Action(
+        forwards = [EMAIL PROTECTED](name = "success", path = "index.jsp")}
+    )
+    public Forward doPage(PageForm form)
+    {
+        return new Forward("success");
+    }
+
+    public static class PageForm
+        extends FormData
+    {
+        private Integer _currentPage = null;
+
+        public Integer getCurrentPage() {return _currentPage;}
+        public void setCurrentPage(Integer currentPage) {_currentPage = 
currentPage;}
+    }
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/index.jsp
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/pager/customselect/index.jsp
    Wed Aug 11 20:56:28 2004
@@ -0,0 +1,40 @@
+<%@ page import="org.apache.beehive.netui.script.common.DataAccessProviderBean,
+                 
org.apache.beehive.netui.script.common.DataAccessProviderStack"%>
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
+<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
+<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
+<%@ taglib prefix="datagrid" 
tagdir="/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles" %>
+
+<netui-template:template templatePage="../../site/template.jsp">
+    <netui-template:setAttribute name="title" value="Paged Data Grid"/>
+    <netui-template:section name="body">
+    <p>
+    <%@ include file="../../util/portfolioXmlBean.jsp" %>
+    <br/>
+    <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" 
disableDefaultPager="true">
+        <netui-data:configurePager pageSize="2" pagerStyle="firstPrevNextLast" 
pageUri="begin.do"/>
+        <netui-data:columns defaultSortable="true" defaultFilterable="false" 
sortAction="index.jsp" filterAction="index.jsp">
+            <netui-data:literalColumn headerText="Symbol" 
value="${container.item.symbol}" sortExpression="symbol"/>
+            <netui-data:literalColumn sortable="false" headerText="Price" 
value="${container.item.price}"/>
+            <netui-data:anchorColumn headerText="Web" 
href="${container.item.web}" value="${container.item.name}">
+                <netui:parameter name="rowid" value="${container.index}"/>
+                <netui:parameter name="symbol" 
value="${container.item.symbol}"/>
+            </netui-data:anchorColumn>
+        </netui-data:columns>
+        <netui-data:footer>
+          <td colspan="2" align="left">
+            <netui-data:renderPager/>
+          </td>
+          <td colspan="1" align="right">
+            <datagrid:jumpToPage dataGrid="${dataGrid}"/>
+          </td>
+        </netui-data:footer>
+    </netui-data:dataGrid>
+    <br/>
+    <netui:anchor href="index.jsp">Reset</netui:anchor>
+    <br/>
+    </p>
+    </netui-template:section>
+</netui-template:template>
\ No newline at end of file

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   Wed Aug 11 20:56:28 2004
@@ -2128,6 +2128,20 @@
          </features>
       </test>
       <test>
+         <name>DataGridPagerCustomSelect</name>
+         <description>DataGridPagerCustomSelect</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>databinding</category>
+            <category>datagrid</category>
+         </categories>
+         <features>
+            <feature>Databinding</feature>
+            <feature>Data Grid</feature>
+         </features>
+      </test>
+      <test>
          <name>DataGridPagerEmpty</name>
          <description>DataGridPagerEmpty</description>
          <webapp>coreWeb</webapp>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml
     Wed Aug 11 20:56:28 2004
@@ -0,0 +1,1242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>DataGridPagerCustomSelect</ses:sessionName>
+   <ses:tester>ekoneil</ses:tester>
+   <ses:startDate>11 Aug 2004, 08:48:08.660 PM MDT</ses:startDate>
+   <ses:description>Test of the data grid and the paging mechanism that is 
exposed for scripting in JSP 2.0.  This instance has a select tag that is used 
to pick and jump to the next page.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">BEAS</td><td 
class="datagrid-data-cell">14.35</td><td class="datagrid-data-cell"><a 
href="http://www.bea.com?rowid=1&symbol=BEAS";><span>BEA 
Systems</span></a></td></tr>
+<tr class="datagrid-odd"><td class="datagrid-data-cell">CSCO</td><td 
class="datagrid-data-cell">19.42</td><td class="datagrid-data-cell"><a 
href="http://www.cisco.com?rowid=2&symbol=CSCO";><span>Cisco 
Systems</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 1 of 
3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Last</a>
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+        <option value="portfolio~1" selected="true">1</option>
+      
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~2">2</option>
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~3">3</option>
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_page</ses:name>
+                  <ses:value>portfolio~2</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/Controller.jpf</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">GE</td><td 
class="datagrid-data-cell">59.42</td><td class="datagrid-data-cell"><a 
href="http://www.ge.com?rowid=3&symbol=GE";><span>General 
Electric</span></a></td></tr>
+<tr class="datagrid-odd"><td class="datagrid-data-cell">RHAT</td><td 
class="datagrid-data-cell">18.2</td><td class="datagrid-data-cell"><a 
href="http://www.redhat.com?rowid=4&symbol=RHAT";><span>RedHat 
Systems</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 2 of 3&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Last</a>
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+      
+        <option value="portfolio~1">1</option>
+      
+    
+    
+    
+      
+        <option value="portfolio~2" selected="true">2</option>
+      
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~3">3</option>
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>3</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_page</ses:name>
+                  <ses:value>portfolio~3</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~2</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">YHOO</td><td 
class="datagrid-data-cell">48.16</td><td class="datagrid-data-cell"><a 
href="http://www.yahoo.com?rowid=5&symbol=YHOO";><span>Yahoo 
Inc</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 3 of 3&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+      
+        <option value="portfolio~1">1</option>
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~2">2</option>
+      
+    
+    
+    
+      
+        <option value="portfolio~3" selected="true">3</option>
+      
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>4</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_page</ses:name>
+                  <ses:value>portfolio~1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">BEAS</td><td 
class="datagrid-data-cell">14.35</td><td class="datagrid-data-cell"><a 
href="http://www.bea.com?rowid=1&symbol=BEAS";><span>BEA 
Systems</span></a></td></tr>
+<tr class="datagrid-odd"><td class="datagrid-data-cell">CSCO</td><td 
class="datagrid-data-cell">19.42</td><td class="datagrid-data-cell"><a 
href="http://www.cisco.com?rowid=2&symbol=CSCO";><span>Cisco 
Systems</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 1 of 
3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Last</a>
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+        <option value="portfolio~1" selected="true">1</option>
+      
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~2">2</option>
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~3">3</option>
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>5</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/doPage.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_page</ses:name>
+                  <ses:value>portfolio~2</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">GE</td><td 
class="datagrid-data-cell">59.42</td><td class="datagrid-data-cell"><a 
href="http://www.ge.com?rowid=3&symbol=GE";><span>General 
Electric</span></a></td></tr>
+<tr class="datagrid-odd"><td class="datagrid-data-cell">RHAT</td><td 
class="datagrid-data-cell">18.2</td><td class="datagrid-data-cell"><a 
href="http://www.redhat.com?rowid=4&symbol=RHAT";><span>RedHat 
Systems</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 2 of 3&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~3">Last</a>
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+      
+        <option value="portfolio~1">1</option>
+      
+    
+    
+    
+      
+        <option value="portfolio~2" selected="true">2</option>
+      
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~3">3</option>
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>6</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/pager/customselect/doPage.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_page</ses:name>
+                  <ses:value>portfolio~3</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=3F61CEE8232BBF747E3AB9F2CEDDA5A6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/doPage.do?netui_page=portfolio%7E2</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/pager/customselect/index.jsp";>
+  <body>
+    <p>
+    <b>Paged Data Grid</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+    <br/>
+    
+<table class="datagrid">
+<thead>
+<tr class="datagrid-header"><th class="datagrid-header-cell">Symbol</th>
+<th class="datagrid-header-cell">Price</th>
+<th class="datagrid-header-cell">Web</th>
+</tr>
+</thead>
+
+<tr class="datagrid-even"><td class="datagrid-data-cell">YHOO</td><td 
class="datagrid-data-cell">48.16</td><td class="datagrid-data-cell"><a 
href="http://www.yahoo.com?rowid=5&symbol=YHOO";><span>Yahoo 
Inc</span></a></td></tr>
+<tr class="datagrid-footer">
+          <td colspan="2" align="left">
+            Page 3 of 3&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a
 
href="/coreWeb/databinding/datagrid/pager/customselect/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last
+          </td>
+          <td colspan="1" align="right">
+            
+
+
+
+
+
+
+
+
+  <form name="pageForm" id="pageForm" 
action="/coreWeb/databinding/datagrid/pager/customselect/doPage.do" 
method="post">
+    Jump to Page:
+
+<script type="text/javascript">
+  function doPagerSubmit(comp)
+  {
+    var form = document.forms[getNetuiTagName("pageForm",this)];
+    form.method="GET";
+    form.submit();
+  }
+  </script>
+  <select name="netui_page" onchange="doPagerSubmit(this); return true;">
+    
+    
+      
+      
+        <option value="portfolio~1">1</option>
+      
+    
+    
+    
+      
+      
+        <option value="portfolio~2">2</option>
+      
+    
+    
+    
+      
+        <option value="portfolio~3" selected="true">3</option>
+      
+      
+    
+    
+  </select>
+    </form>
+
+<script language="JavaScript" type="text/JavaScript">
+<!--
+// Build the netui_names table to map the tagId attributes
+// to the real id written into the HTML
+if (netui_names == null)
+   var netui_names = new Object();
+netui_names.pageForm="pageForm"
+// method which will return a real id for a tagId,
+// the tag parameter will be used to find the scopeId for
+// containers that may scope their ids
+function getNetuiTagName(id, tag)
+{
+   var scopeId = getScopeId(tag);
+   if (scopeId == "")
+      return netui_names[id];
+   else
+      return netui_names[scopeId  + "__" + id];
+}
+
+// This method will walk the hierarchy from the pass element looking for a 
scopeId.
+// The first scopeId found will be returned or the empty string if a scopeId 
is not found.
+function getScopeId(tag)
+{
+   if (tag == null)
+      return "";
+   if (tag.scopeId != null)
+      return tag.scopeId;
+   return getScopeId(tag.parentElement);
+}
+
+-->
+</script>
+
+
+
+
+
+
+          </td>
+        
+</tr>
+</table>
+
+    <br/>
+    <a 
href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
+    <br/>
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>11 Aug 2004, 08:48:32.635 PM MDT</ses:endDate>
+   <ses:testCount>6</ses:testCount>
+</ses:recorderSession>

Reply via email to