2009-07-28 3 views
1

J'ai un contrôle ListView imbriqué et dans le ItemTemplate j'ai besoin de faire un appel à une méthode dans le fichier code-behind afin d'appliquer une classe CSS différente à la dernière ligne de la table rendue.Comment puis-je savoir quand la dernière ligne d'une source de données ListView est liée?

J'appelle la méthode comme suit ...

<td class="<%# GetClass(Container) %>"> 

Container me donne la ListViewDataItem qui est lié, donc je pensais que je peux vérifier ce point sur la vue de la liste source de données pour voir si elle est le dernier élément de la source de données, mais comment accéder à la source de données du contrôle imbriqué?

Existe-t-il un meilleur moyen d'y parvenir, je sais que cela pourrait être fait avec jquery mais j'espérais une solution C#/ASP.net. Merci.

+0

Utilisez-vous OnItemDataBound événements dans les deux listviews? – Colin

+0

Non, je ne les utilise pas pour le moment. –

Répondre

1

Voici comment je l'ai résolu ...

protected string GetClass(ListViewDataItem container) 
{ 
    List<IIndividualNetworkLevel3Word> dataSource = (List<IIndividualNetworkLevel3Word>)(((ListView)container.BindingContainer).DataSource); 

    if (container.DataItemIndex == dataSource.Count-1) 
    { 
     return string.Empty; 
    } 

    return "customGridItems"; 
} 
0

Vous pouvez essayer l'événement OnItemDataBound de l'imbriqué, puis laisser un compteur s'exécuter, si counter == DataSource.Count, définissez la classe de td.

Questions connexes