L'arborescence possède des cases à cocher de nœuds feuilles. Je dois valider l'arborescence si au moins l'un des nœuds est vérifié et pas plus d'un nombre de nœuds spécifique (disons 3 nœuds) qu'un utilisateur peut sélectionner. Note: L'arborescence est une arborescence asp.net (pas une arborescence ajax)Validation Treeview
3
A
Répondre
11
Très bien, puisque vous n'avez pas mentionné le type de validation que vous voulez, je ferai à la fois le côté client et le côté serveur. Mon TreeView
est nommé tvTest
D'abord, ajouter un CustomValidator
à vous la page Asp.Net:
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="ClientValidate"
ErrorMessage="CustomValidator" Display="Dynamic" OnServerValidate="CustomValidator1_ServerValidate">*</asp:CustomValidator>
Remarque: ne définissez pas la propriété ControlToValidate
.
Ensuite, ajoutez ce script (également à votre page Asp.Net) pour la validation du côté client:
<script type="text/javascript">
function ClientValidate(source, arguments) {
var treeView = document.getElementById("<%= tvTest.ClientID %>");
var checkBoxes = treeView.getElementsByTagName("input");
var checkedCount = 0;
for (var i = 0; i < checkBoxes.length; i++) {
if (checkBoxes[i].checked) {
checkedCount++;
}
}
if (checkedCount > 0 && checkedCount < 4) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
Enfin, ajoutez à votre code-behind pour la validation du côté serveur:
protected void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) {
if (tvTest.CheckedNodes.Count > 0 && tvTest.CheckedNodes.Count < 4) {
args.IsValid = true;
} else {
args.IsValid = false;
}
}
Bien sûr, vous voudrez changer les limites pour le nombre minimum et maximum de nœuds que l'utilisateur peut vérifier.
Questions connexes
- 1. TreeView + signe
- 2. problème treeview
- 3. Ajax TreeView
- 4. WinForms TreeView
- 5. Système de fichiers TreeView
- 6. Réduire ViewState avec TreeView
- 7. WPF: Icônes dans TreeView
- 8. générer nœuds TreeView programme
- 9. Mise à jour TreeView
- 10. Désactiver Treeview nœuds
- 11. WPF: Personnalisé + - dans TreeView
- 12. Populate TreeView de DataBase
- 13. WPF UserControl TreeView Hauteur
- 14. SplitContainer avec TreeView
- 15. Remplissage d'un contrôle TreeView
- 16. ASP.NET TreeView trier
- 17. Question d'édition d'étiquette TreeView
- 18. éléments TreeView disparaissent
- 19. treeview avec Checkbox
- 20. Drag & Drop dans Treeview
- 21. Construire une dynamique TreeView
- 22. Système de fichiers TreeView
- 23. C# - Construction TreeView
- 24. TreeView avec DropdownList
- 25. YUI TreeView Object
- 26. Silverlight 3 Treeview
- 27. ajax treeview asp.net
- 28. WPF TreeView Binding
- 29. treeview vérifié nœuds
- 30. Best AJAX TreeView
+1 - bonne solution. – adrianos
Nice un très utile ... Merci – shijuse