2010-02-18 6 views
4

J'ai un contrôle treeview asp.net dont j'ai besoin pour pouvoir définir un nœud parent à vérifier partiellement pour montrer que les nœuds enfants sont vérifiés. Fondamentalement, j'ai besoin d'une case à cocher à 3 états ou multi-états. Tout ce que je peux voir en parcourant le code, ce sont des façons de définir true ou false.Comment définir une case à cocher TreeView à cocher partiellement?

Merci.

Répondre

2

Il n'y a pas de case à cocher à 3 états ou à états multiples dans le framework .Net, principalement parce que cette fonctionnalité n'est pas supportée en HTML pour une case à cocher. Il y a un certain nombre de composants tiers qui font cela (comme les contrôles "FolderView"). Ou vous pouvez facilement lancer votre propre contrôle serveur pour cela. Désolé pour les mauvaises nouvelles.

+0

Sons comme si j'acheter un. Stupide case à cocher. Malheureusement, je n'ai pas le temps ou la tolérance au risque de rouler le mien. – Dilbert789

4

Je l'ai déjà fait. Ce que vous faites essentiellement est de garder une trace de l'état de la case à cocher sous-jacente. En utilisant une classe javascript personnalisée et des sprites CSS pour vos images, vous superposez la case à cocher avec l'image appropriée.

Voici un exemple rapide, j'ai trouvé

http://www.codeproject.com/KB/aspnet/TriStateCheckBox.aspx

Voici le concept de sprites CSS et la case à cocher trois états. J'ai fait quelque chose dans ce sens.

http://shamsmi.blogspot.com/2008/12/tri-state-checkbox-using-javascript.html