2013-08-17 1 views
0

J'utilise un ASP ListBox dans ma page asp.net. J'ajoute évidemment des éléments à ce contrôle. J'ai personnalisé les couleurs de fond individuelles des listitems. Je veux également changer le curseur en pointeur lorsque l'utilisateur le survole. Je me bats pour y parvenir. Existe-t-il un moyen RAPIDE de le faire? Je ne veux pas utiliser la version de contrôle HTML de ceci. Il doit utiliser le contrôle de liste ASP.NET.point pour l'élément de liste dans la liste de liste asp.net

Merci à l'avance ...

Répondre

1

La façon rapide de le faire est par CSS, comme ceci:

En faisant référence à l'ID unique élément:

#YourListBoxID:hover { 
    cursor: pointer; 
} 

En faisant une classe CSS :

.HoverCursorPointer:hover { 
    cursor: pointer; 
} 

Ensuite, vous devez appliquer la classe CSS à votre liste ASP.NET ListBox, comme ceci:

<asp:ListBox id="ListBox1" runat="server" CssClass="HoverCursorPointer"> 

</asp:ListBox> 

Juste pour référence, voici une liste des CSS cursor property values.

MISE À JOUR:

Pour appliquer le curseur de vol stationnaire à chaque élément de la liste ainsi, faites ceci:

protected void ListBox1_DataBound(object sender, EventArgs e) 
{ 
    ListBox lb = sender as ListBox; 
    foreach (ListItem item in lb.Items) 
    { 
     item.Attributes["class"] = "HoverCursorPointer" 
    } 
} 
+0

Salut, merci beaucoup pour votre réponse. Je l'ai fait à l'origine. Le curseur a changé quand j'ai déplacé la souris au-dessus de la liste, mais quand j'ai survolé directement un listitem dedans il est revenu à sa valeur par défaut. –

+0

Voir MISE À JOUR en réponse. –

+0

Salut, merci encore pour votre temps dans tout cela. J'ai essayé d'utiliser item.Attribute [class] = "mystyle" en ajoutant les listitems à la 1ère place. Je viens d'essayer d'utiliser cet événement inte _dataBound mais ça ne marche toujours pas :( –