Utilisez la puissance de CSS!
Placez-le dans votre rangée gridview. Il va naturellement pousser la ligne à la hauteur de votre contenu, ou la quantité de lignes requises.
<div class="toggle">
<div class="toggle-header">
Toggle!
</div>
<div class="toggle-height">
<div class="toggle-transform">
<p>2nd line of text</p>
<p>3rd line</p>
<p>4th line</p>
<p>etc</p>
</div>
</div>
</div>
Et utiliser ce CSS ...
body {
font-family: sans-serif;
}
.toggle {
position: relative;
border: 2px solid #333;
border-radius: 3px;
margin: 5px;
width: 200px;
}
.toggle-header {
margin: 0;
padding: 10px;
background-color: #333;
color: white;
text-align: center;
cursor: pointer;
}
.toggle-height {
background-color: tomato;
overflow: hidden;
transition: max-height .6s ease;
max-height: 0;
}
.toggle:hover .toggle-height {
max-height: 1000px;
}
.toggle-transform {
padding: 5px;
color: white;
transition: transform .4s ease;
transform: translateY(-100%);
}
.toggle:hover .toggle-transform {
transform: translateY(0);
}
Vous pouvez masquer la ligne « bascule » avec une zone de texte de votre « (plus) » pour développer le reste.
Dites-nous si cela a fonctionné.
Je remplis déjà gridview via ObjectDataSource et j'utilise '<% # Eval ("Content")%>' pour obtenir le contenu complet. Puis-je découper le contenu avant qu'il ne soit inséré? – markiz
Alors vous avez une propriété pour le contenu? vous pouvez couper le contenu au getter de la propriété. – Canavar
mais en cliquant sur le lien ne sera pas étendre la ligne ... – markiz