donderdag 2 oktober 2008

Hide empty fields in sharepoint

Probleem:

Voor een project waar we mee bezig zijn liepen we tegen het volgende probleem. Een detailpagina met cursusinformatie bevat enkele lege (niet ingevulde velden) welke niet moeten weergegeven worden. Deze pagina is opgezet als template in Sharepoint Designer zodat wij niet direct in de code-behind dingen hoeven aan te passen


 

Hieronder een voorbeeld van een cursus

Naam cursus:

Javascript voor gevorderen

Doelstelling:

 

Locatie:

Almere


 

De cursus wordt weergegeven in een tabel en op de plaats waar normaal de doelstelling wordt ingevuld staat nu een spatie ( )


 

Oplossing:

Je kunt in je template (of in je masterpage) wel JavaScript laten uitvoeren. De JavaScript functie doorloopt de tabel en kijkt voor ieder cel (td) of het leeg is, is het leeg dan wordt de rij (tr) niet weergegeven met behulp van CSS.

Hieronder een voorbeeld:


 

<table>

      <tbody>

            <tr>

                  <td
class="CursusVeld">

                        Doelstelling

                  </td>

                  <td
class="CursusWaarde">

                  </td>

            </tr>

      </tbody>

</table>


 

<script
type="text/javascript">

function removeEmptyRows()

{

      //vraag alle td elementen op

      var e=document.getElementsByTagName("td");

  
 

      for(var i=0;i<e.length;i++) classname ="=" innertext ="=" p =" e[i].parentNode;" display =" 'none';">

}

</script>


 

Vervolgens kun je of onderaan het template of in de onload functie van de body-tag het script laten uitvoeren en worden de lege rijen automatisch verborgen.

0 Comments:

Post a Comment