From: <ava...@us...> - 2006-10-05 16:09:07
|
Revision: 144 http://svn.sourceforge.net/salto-framework/?rev=144&view=rev Author: avandekerkhove Date: 2006-10-05 09:08:35 -0700 (Thu, 05 Oct 2006) Log Message: ----------- FWK-74 New attribute "cssClass" added to salto:paginator in order to set the class of the HTML table which represents the paginator. Update and translation of the documentation Modified Paths: -------------- salto-framework/trunk/src-examples/salto/i18n/Message.properties salto-framework/trunk/src-examples/salto/i18n/Message_en.properties salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java salto-framework/trunk/webapp/fwk/config/salto.tld salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp salto-framework/trunk/webapp/jsp/docfwkv3/pagination/demoPagination.jsp salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp salto-framework/trunk/webapp/style/demo.css Modified: salto-framework/trunk/src-examples/salto/i18n/Message.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message.properties 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/src-examples/salto/i18n/Message.properties 2006-10-05 16:08:35 UTC (rev 144) @@ -901,8 +901,8 @@ pagination.example2.text1 = The list of objects is the same than in 1st example but we only want the 15 first persons of the list, and we \ want to display them by groups of 3 persons :<br> -pagination.example2.text2 = This example also shows the use of the <i>imageFolder</i> and <i>statusKey</i> attributes, which allow respectively to \ - modify the images of the navigation buttons and the status message. +pagination.example2.text2 = This example also shows the use of the <i>imageFolder</i> attribute which allow to \ + modify the images of the navigation buttons. pagination.howto.text1 = Here is the JSP code of example 1 : <br> pagination.howto.text2 = This paginator is associated with the following table : <br> @@ -915,7 +915,7 @@ updates the pagination data.<br>\ The 2nd example uses the same list of objects. The action is similar except the parameters of <i>PaginatorHelper.getPaginationInfo</i> \ where we specify 3 and 15 to indicate that we want 15 persons displayed by groups of 3 persons.<br>\ - In order to modify the navigation buttons and the status message, two attributes have been added : + In order to modify the navigation buttons, an attribute have been added : pagination.howto.text5 = The <i>imageFolder</i> attribute indicates the directory which contains the images of the buttons to display \ (if we don't want the default images). To change the images it is necessary to put 8 images in this repertory with the following names :<br>\ <ul><li>first.gif</li>\ @@ -926,21 +926,28 @@ <li>nextDisabled.gif</li>\ <li>previous.gif</li>\ <li>previousDisabled.gif</li>\</ul>\ - The 2nd attribute we add, <i>statusKey</i>, allows to modify the status message displayed. By default it is the message \ - of key <i>fwk.pagination.status</i> which is displayed. This message takes parameters in order to give the navigation \ - information to the user.<br>\ + The <i>statusMessage</i> attribute takes some parameters in order to give the navigation information.<br>\ In example 2 the message used in the <i>properties</i> file is the following :<br>\ - <i>Here are the elements {1\} to {2\} on a total of {0\}</i> + <i>Here are the elements {1\} to {2\} on a total of {0\}</i><br>\ + If the bundle is not specified (see example 1), so the keywords <i>\{totalLines}</i>, <i>\{lineFrom}</i> and <i>\{lineTo}</i> \ + are used to set the displayed message :\ + <ul><li><i>\{totalLines}</i> is replaced by the total number of elements</li>\ + <li><i>\{lineFrom}</i> is replaced by the number of the first displayed row</li>\ + <li><i>\{lineTo}</i> is replaced by the number of the last displayed row</li></ul>\ pagination.specifications = The attributes availables for the paginator tag are the following ones : <br>\ <ul><li>(*) id : Id of the paginator</li>\ <li>(*) dataAttributeId : Name of the list of objects contained in the request context.</li>\ <li>(*) action : STRUTS action which executes the pagination operations.</li>\ - <li>bundle : bundle for the messages. If it's not specified the default bundle will be used.</li>\ - <li>statusKey : key for the status message to display. If it's not specified the message of key \ - <i>fwk.pagination.status</i> will be displayed.</li>\ + <li>bundle : bundle for the messages. If you set bundle="default" the bundle will be <i>org.apache.struts.action.MESSAGE</i></li>\ + <li>cssClass : name of the css class associated to the HTML table which represents the paginator.</li>\ + <li>statusMessage : message which gives the navigation status (see how-to for more details)</li>\ + <li>firstMessage : message associated to the <i>first</i> button</li>\ + <li>previousMessage : message associated to the <i>previous</i> button</li>\ + <li>nextMessage : message associated to the <i>next</i> button</li>\ + <li>lastMessage : message associated to the <i>last</i> button</li>\ <li>imageFolder : directory containing the images of the navigation buttons, if you don't want the default images.</li></ul>\ - (*) : Required attributes + (*) : Required attributes #dragndrop dragndrop.presentation.text = Le drag'n drop est un m\xE9canisme compos\xE9 avec deux types d'objets: \ Modified: salto-framework/trunk/src-examples/salto/i18n/Message_en.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message_en.properties 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/src-examples/salto/i18n/Message_en.properties 2006-10-05 16:08:35 UTC (rev 144) @@ -898,8 +898,8 @@ pagination.example2.text1 = The list of objects is the same than in 1st example but we only want the 15 first persons of the list, and we \ want to display them by groups of 3 persons :<br> -pagination.example2.text2 = This example also shows the use of the <i>imageFolder</i> and <i>statusKey</i> attributes, which allow respectively to \ - modify the images of the navigation buttons and the status message. +pagination.example2.text2 = This example also shows the use of the <i>imageFolder</i> attribute which allow to \ + modify the images of the navigation buttons. pagination.howto.text1 = Here is the JSP code of example 1 : <br> pagination.howto.text2 = This paginator is associated with the following table : <br> @@ -912,7 +912,7 @@ updates the pagination data.<br>\ The 2nd example uses the same list of objects. The action is similar except the parameters of <i>PaginatorHelper.getPaginationInfo</i> \ where we specify 3 and 15 to indicate that we want 15 persons displayed by groups of 3 persons.<br>\ - In order to modify the navigation buttons and the status message, two attributes have been added : + In order to modify the navigation buttons, an attribute have been added : pagination.howto.text5 = The <i>imageFolder</i> attribute indicates the directory which contains the images of the buttons to display \ (if we don't want the default images). To change the images it is necessary to put 8 images in this repertory with the following names :<br>\ <ul><li>first.gif</li>\ @@ -923,19 +923,26 @@ <li>nextDisabled.gif</li>\ <li>previous.gif</li>\ <li>previousDisabled.gif</li>\</ul>\ - The 2nd attribute we add, <i>statusKey</i>, allows to modify the status message displayed. By default it is the message \ - of key <i>fwk.pagination.status</i> which is displayed. This message takes parameters in order to give the navigation \ - information to the user.<br>\ + The <i>statusMessage</i> attribute takes some parameters in order to give the navigation information.<br>\ In example 2 the message used in the <i>properties</i> file is the following :<br>\ - <i>Here are the elements {1\} to {2\} on a total of {0\}</i> + <i>Here are the elements {1\} to {2\} on a total of {0\}</i><br>\ + If the bundle is not specified (see example 1), so the keywords <i>\{totalLines}</i>, <i>\{lineFrom}</i> and <i>\{lineTo}</i> \ + are used to set the displayed message :\ + <ul><li><i>\{totalLines}</i> is replaced by the total number of elements</li>\ + <li><i>\{lineFrom}</i> is replaced by the number of the first displayed row</li>\ + <li><i>\{lineTo}</i> is replaced by the number of the last displayed row</li></ul>\ pagination.specifications = The attributes availables for the paginator tag are the following ones : <br>\ <ul><li>(*) id : Id of the paginator</li>\ <li>(*) dataAttributeId : Name of the list of objects contained in the request context.</li>\ <li>(*) action : STRUTS action which executes the pagination operations.</li>\ - <li>bundle : bundle for the messages. If it's not specified the default bundle will be used.</li>\ - <li>statusKey : key for the status message to display. If it's not specified the message of key \ - <i>fwk.pagination.status</i> will be displayed.</li>\ + <li>bundle : bundle for the messages. If you set bundle="default" the bundle will be <i>org.apache.struts.action.MESSAGE</i></li>\ + <li>cssClass : name of the css class associated to the HTML table which represents the paginator.</li>\ + <li>statusMessage : message which gives the navigation status (see how-to for more details)</li>\ + <li>firstMessage : message associated to the <i>first</i> button</li>\ + <li>previousMessage : message associated to the <i>previous</i> button</li>\ + <li>nextMessage : message associated to the <i>next</i> button</li>\ + <li>lastMessage : message associated to the <i>last</i> button</li>\ <li>imageFolder : directory containing the images of the navigation buttons, if you don't want the default images.</li></ul>\ (*) : Required attributes Modified: salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties =================================================================== --- salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/src-examples/salto/i18n/Message_fr.properties 2006-10-05 16:08:35 UTC (rev 144) @@ -932,8 +932,8 @@ Nous décidons de les afficher par groupes de 5 : <br> pagination.example2.text1 = Ici la liste d'objets est la même que dans l'exemple 1 mais nous ne voulons que les 15 premiers résultats, affichés par groupes de 3 personnes : <br> -pagination.example2.text2 = Cet exemple montre également l'utilisation des attributs <i>imageFolder</i> et <i>statusKey</i> qui permettent \ - respectivement de modifier les images de navigation et de modifier le message de statut affiché. +pagination.example2.text2 = Cet exemple montre également l'utilisation de l'attribut <i>imageFolder</i> qui permet \ + de modifier les images de navigation. pagination.howto.text1 = Voici le code JSP de l'exemple 1 : <br> pagination.howto.text2 = Ce paginator est associé à la table suivante :<br> @@ -948,8 +948,8 @@ L'exemple 2 se base sur la même liste d'objets ; l'action est quasiment la même à l'exception des \ paramètres de la méthode <i>PaginatorHelper.getPaginationInfo</i> où on précise 3 et 15 comme \ derniers arguments (groupes de 3 lignes, sur les 15 premiers résultats).<br>\ - Afin de modifier l'affichage du paginator concernant les boutons et le message de statut, des attributs ont \ - été rajoutés : + Afin de modifier l'affichage du paginator concernant les boutons, un attribut a \ + été rajouté : pagination.howto.text5 = L'attribut <i>imageFolder</i> est le répertoire contenant les images des boutons à afficher, si on ne veut \ pas celui par défaut. Pour ce faire il est nécessaire de mettre dans ce répertoire 8 images avec les noms suivants : <br>\ <ul><li>first.gif : image de direction vers le 1er sous-ensemble</li>\ @@ -960,11 +960,16 @@ <li>nextDisabled.gif : "next" non sélectionnable (dernier sous-ensemble déjà affiché)</li>\ <li>previous.gif : image de direction vers le sous-ensemble précédent</li>\ <li>previousDisabled.gif : "previous" non sélectionnable (1er sous-ensemble déjà affiché)</li>\</ul>\ - Le 2 ème attribut que nous avons ajouté, <i>statusKey</i>, permet de modifier le message de statut \ - affiché sur le paginator. Par défaut c'est le message de clé <i>fwk.pagination.status</i> qui est affiché. \ - Ce message prend des paramètres en entrée afin de donner à l'utilisateur l'information de navigation. \ - <br>Dans l'exemple 2 le message utilisé dans le fichier <i>properties</i> est le suivant :<br>\ - <i>Eléments {1\} à {2\} sur {0\}</i> + Contrairement au 1er exemple, nous avons spécifié l'attribut <i>bundle</i> afin d'internationaliser les messages. \ + Dans ce cas, les 5 messages sont définis par leurs clés dans le fichier contenant les messages de l'application. <br>\ + Il faut noter que l'attribut <i>statusMessage</i> est paramétrable : dans l'exemple 2 le message utilisé dans \ + le fichier <i>properties</i> est le suivant :<br>\ + <i>Eléments {1\} à {2\} sur {0\}</i><br>\ + Si le bundle n'est pas défini (exemple 1), alors les mots-clés <i>\{totalLines}</i>, <i>\{lineFrom}</i> et <i>\{lineTo}</i> \ + permettent de paramétrer le message :\ + <ul><li>Chaque occurrence de <i>\{totalLines}</i> sera remplacée par le nombre total d'\xE9l\xE9ments</li>\ + <li>Chaque occurrence de <i>\{lineFrom}</i> sera remplacée par le numéro de la première ligne affichée</li>\ + <li>Chaque occurrence de <i>\{lineTo}</i> sera remplacée par le numéro de la dernière ligne affichée</li></ul>\ pagination.specifications = Voici les attributs disponibles pour le tag <i><salto:paginator></i> : <br>\ <ul><li>(*) id : Identifiant du paginator</li>\ @@ -972,12 +977,16 @@ correspond aux objets affichés dans la table. Cet attribut doit être équivalent à l'attribut \ <i>dataAttribute</i> de la datatable sur laquelle on veut effectuer la pagination.</li>\ <li>(*) action : référence à l'action STRUTS qui effectue la pagination</li>\ - <li>bundle : bundle pour les messages. Si non précisé le bundle sera celui par défaut.</li>\ - <li>statusKey : clé indiquant le message de statut à afficher. Si non précisé le message \ - de clé <i>fwk.pagination.status</i> sera affiché.</li>\ - <li>imageFolder : permet de préciser un autre répertoire que celui par défaut pour les images affichées.</li></ul>\ + <li>bundle : bundle pour les messages. bundle="default" correspond au bundle <i>org.apache.struts.action.MESSAGE</i></li>\ + <li>cssClass : Nom de la class CSS \xE0 apposer \xE0 la table HTML qui repr\xE9sente le paginator</li>\ + <li>statusMessage : message de statut de navigation (cf. how-to pour plus de d\xE9tails)</li>\ + <li>firstMessage : message associ\xE9 au bouton permettant de voir les premiers \xE9l\xE9ments</li>\ + <li>previousMessage : message associ\xE9 au bouton permettant de voir les \xE9l\xE9ments pr\xE9c\xE9dents</li>\ + <li>nextMessage : message associ\xE9 au bouton permettant de voir les \xE9l\xE9ments suivants</li>\ + <li>lastMessage : message associ\xE9 au bouton permettant de voir les derniers \xE9l\xE9ments</li>\ + <li>imageFolder : permet de préciser un autre répertoire que celui par défaut pour les images affichées.</li></ul>\ (*) : Attributs obligatoires - + #dragndrop dragndrop.presentation.text = Le drag'n drop est un m\xE9canisme compos\xE9 avec deux types d'objets: \ <ul>\ Modified: salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java =================================================================== --- salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorInfo.java 2006-10-05 16:08:35 UTC (rev 144) @@ -25,6 +25,7 @@ private String nextMessage; private String lastMessage; private String imageFolder; + private String cssClass; /** * @param id @@ -37,7 +38,7 @@ */ public PaginatorInfo(String id, String dataAttributeId, String imageFolder, String statusMessage, String firstMessage, String previousMessage, String nextMessage, String lastMessage, - String[] urls) { + String[] urls, String cssClass) { super(); this.id = id; this.dataAttributeId = dataAttributeId; @@ -48,6 +49,7 @@ this.nextMessage = nextMessage; this.lastMessage = lastMessage; this.urls = urls; + this.cssClass = cssClass; } @@ -163,6 +165,14 @@ public void setUrls(String[] urls) { this.urls = urls; } + + public String getCssClass() { + return cssClass; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } } Modified: salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java =================================================================== --- salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/src-fwk/salto/fwk/mvc/taglib/pagination/PaginatorTag.java 2006-10-05 16:08:35 UTC (rev 144) @@ -62,6 +62,7 @@ private String nextMessage = DEFAULT_NEXT_MESSAGE; private String lastMessage = DEFAULT_LAST_MESSAGE; private String imageFolder = "fwk/image/paginator"; + private String cssClass; private Map parameterMap = new HashMap(5); /** * @@ -165,7 +166,7 @@ } PaginatorInfo info = new PaginatorInfo(getId(), dataAttributeId, request.getContextPath()+"/"+imageFolder, - statusMessage, firstMessage, previousMessage, nextMessage, lastMessage, urls); + statusMessage, firstMessage, previousMessage, nextMessage, lastMessage, urls, cssClass); request.setAttribute(PAGINATOR_INFO_ATTRIBUTE, info); String code = AjaxUtil.getJspCode(request,(HttpServletResponse)pageContext.getResponse(), DEFAULT_JSP_MODEL); pageContext.getOut().write(code); @@ -197,6 +198,7 @@ this.nextMessage = DEFAULT_NEXT_MESSAGE; this.lastMessage = DEFAULT_LAST_MESSAGE; this.imageFolder = "fwk/image/paginator"; + this.cssClass = null; this.parameterMap.clear(); } @@ -346,6 +348,14 @@ this.previousMessage = previousMessage; } + public String getCssClass() { + return cssClass; + } + + public void setCssClass(String cssClass) { + this.cssClass = cssClass; + } + /** * @deprecated */ Modified: salto-framework/trunk/webapp/fwk/config/salto.tld =================================================================== --- salto-framework/trunk/webapp/fwk/config/salto.tld 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/fwk/config/salto.tld 2006-10-05 16:08:35 UTC (rev 144) @@ -1271,6 +1271,12 @@ <description>Label (or key, if bundle is specified) of the message associated to "alt" attribute of the image</description> </attribute> <attribute> + <name>cssClass</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <description>CSS class of the table which represents the paginator</description> + </attribute> + <attribute> <name>imageFolder</name> <required>false</required> <rtexprvalue>true</rtexprvalue> Modified: salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp =================================================================== --- salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/fwk/jsp/common/pagination/paginator.jsp 2006-10-05 16:08:35 UTC (rev 144) @@ -16,9 +16,9 @@ String lastPageUrl = urls[3]; %> -<table id="<%=paginatorInfo.getId()%>" class="datalight"> +<table id="<%=paginatorInfo.getId()%>" <%if (paginatorInfo.getClass()!= null){%>class="<%=paginatorInfo.getCssClass()%>"<%}%>> <tbody> - <tr class="th"> + <tr> <% if (firstPageUrl != null) { %> Modified: salto-framework/trunk/webapp/jsp/docfwkv3/pagination/demoPagination.jsp =================================================================== --- salto-framework/trunk/webapp/jsp/docfwkv3/pagination/demoPagination.jsp 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/jsp/docfwkv3/pagination/demoPagination.jsp 2006-10-05 16:08:35 UTC (rev 144) @@ -38,12 +38,12 @@ <salto:tab label="onglet.howto"> <br> <i18n:message key='pagination.howto.text1' /> - <div class="code" style="width:600px"> + <div class="code" style="width:900px"> <%=AjaxUtil.getJspCode(request, response, Constants.TEST_JSP_PATH+"/datatable/viewSource.jsp?jsp="+Constants.TEST_JSP_PATH+"/pagination/paginationMaster.jsp")%> </div> <br> <i18n:message key='pagination.howto.text2' /> - <div class="code" style="width:600px"> + <div class="code" style="width:900px"> <%=AjaxUtil.getJspCode(request, response, Constants.TEST_JSP_PATH+"/datatable/viewSource.jsp?jsp="+Constants.TEST_JSP_PATH+"/pagination/paginationDetail.jsp")%> </div> <br> @@ -68,11 +68,14 @@ </div> <br> <i18n:message key='pagination.howto.text4' /> - <div class="code" style="width:600px"> + <div class="code" style="width:800px"> <pre> <salto:paginator action="docfwkv3/getNextPageExample2.do" id="paginatorId2" dataAttributeId="example2Customers" imageFolder="fwk/image/paginatorExample2" - statusKey="fwk.pagination.status.example2"> + statusMessage="fwk.pagination.status.example2" bundle="default" + firstMessage="fwk.pagination.first" previousMessage="fwk.pagination.previous" + nextMessage="fwk.pagination.next" lastMessage="fwk.pagination.last" + cssClass="paginator2"> </salto:paginator> </pre> </div> Modified: salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp =================================================================== --- salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/jsp/docfwkv3/pagination/example2.jsp 2006-10-05 16:08:35 UTC (rev 144) @@ -36,5 +36,6 @@ imageFolder="fwk/image/paginatorExample2" statusMessage="fwk.pagination.status.example2" bundle="default" firstMessage="fwk.pagination.first" previousMessage="fwk.pagination.previous" - nextMessage="fwk.pagination.next" lastMessage="fwk.pagination.last"> + nextMessage="fwk.pagination.next" lastMessage="fwk.pagination.last" + cssClass="paginator2"> </salto:paginator> \ No newline at end of file Modified: salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp =================================================================== --- salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/jsp/docfwkv3/pagination/paginationMaster.jsp 2006-10-05 16:08:35 UTC (rev 144) @@ -2,5 +2,6 @@ <%@ taglib uri="/WEB-INF/salto.tld" prefix="salto" %> <salto:paginator action="docfwkv3/getNextPage.do" id="paginatorId" dataAttributeId="test" statusMessage="Total : {totalLines} , displaying from {lineFrom} to {lineTo}" - firstMessage="premier" nextMessage="suivant" previousMessage="pr\xE9c\xE9dent" lastMessage="dernier"> + firstMessage="premier" nextMessage="suivant" previousMessage="pr\xE9c\xE9dent" lastMessage="dernier" + cssClass="paginator"> </salto:paginator> \ No newline at end of file Modified: salto-framework/trunk/webapp/style/demo.css =================================================================== --- salto-framework/trunk/webapp/style/demo.css 2006-10-05 14:41:46 UTC (rev 143) +++ salto-framework/trunk/webapp/style/demo.css 2006-10-05 16:08:35 UTC (rev 144) @@ -189,3 +189,30 @@ .tableContainer tbody td:last-child {padding-right: 20px;} /*prevent Mozilla scrollbar from hiding cell content*/ +/* Paginator */ +.paginator { + background-color: rgb(51,153,204); + border: 1px solid; +} + +.paginator tr { +} + +.paginator td { + color: white; + text-align: center; + font-size: 12px; + font-weight: bold; + border: 1px solid black; +} + +.paginator2 { + border: 1px solid; +} +.paginator2 tr { + +} +.paginator2 td { + font-style: italic; + border-right: 1px solid black; +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |