venerdì 9 dicembre 2011

Lista dati con checkbox usando display tag

Con riferimento al post precedente vediamo lo stesso esempio fatto con display-tag.
In questo caso l'unica cosa poco carina mi sembra sia il fatto che per mostrare nell'header la checkbox che consente di fare i check e decheck massivi bisogna scrivere nel title direttamente l'html.

Ecco l'esempio:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
   
<%@taglib uri="http://displaytag.sf.net" prefix="display" %>
 <%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div >
<form name="myForm" action="VisualizzaRisultati" method="post">

     <display:table name="sessionScope.lista"   cellspacing="0"
             id="r" >
       <display:column title="<input type='checkbox' name='selectall' onclick='javascript:checkDececkAll()' />" sortable="false" media="html">
     
       
        <input type="checkbox" name="idValue"  ${r.checked}/>
        <input type="hidden" name="txtValore" value=""/>
       </display:column>
       <display:column property="dataCreation" title="Data creazione"></display:column>
       <display:column property="location" title="Location"></display:column>
       <display:column property="name" title="Nome"></display:column>
       <display:column property="status" title="Status"></display:column>
     </display:table>
     <input type="button" name="InvioDati" value="Invia" onclick="javascript:invio()"/>
</form>
   </div>
</body>
<script language="javascript">
var checked=false;
function checkDececkAll()
{
    var field=document.myForm.idValue;
   
    if(checked){
        // uncheck
        for (var i = 0; i < field.length; i++){
            field[i].checked = false ;
        }
        checked=false;
    }
    else
        {
          //check
        for (var i = 0; i < field.length; i++){
            field[i].checked = true ;
        }
         checked=true;
    }
    }
function invio(){
    var field=document.myForm.idValue;
    var txt=document.myForm.txtValore;
    for(var i=0;i<field.length;i++){
        if(field[i].checked){
            field[i].value="ok";
            txt[i].value="ok";
        }
        else
            {
            field[i].value="ko";
            txt[i].value="ko";
            }
    }
    document.myForm.submit();
}
</script>
</html>

Nessun commento:

Posta un commento