Existe-t-il une bonne liste déroulante multi-sélection avec des cases à cocher (webcontrol) pour asp.net ?
Merci beaucoup.
Existe-t-il une bonne liste déroulante multi-sélection avec des cases à cocher (webcontrol) pour asp.net ?
Merci beaucoup.
Vous pourriez utiliser le [System.Web.UI.WebControls.CheckBoxList](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx)
contrôler ou utiliser le [System.Web.UI.WebControls.ListBox](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listbox.aspx)
avec le SelectionMode
la propriété est réglée sur Multiple
.
Liste de contrôle jQuery Dropdown peut être utilisé pour transformer un élément html ordinaire à sélection multiple en une liste déroulante de cases à cocher. Il fonctionne sur le client et peut donc être utilisé avec n'importe quelle technologie côté serveur :
(source : <a href="http://dropdown-check-list.googlecode.com/svn/trunk/doc/demo.png" rel="nofollow noreferrer">googlecode.com </a>)
Je pense que cette solution est exactement ce que la question demandait ! Une alternative très solide !
Essayez ce contrôle serveur qui hérite directement de CheckBoxList (gratuit, open source) : http://dropdowncheckboxes.codeplex.com/
J'ai utilisé le contrôle open source à http://dropdowncheckboxes.codeplex.com/ et j'en suis très satisfait. Mon ajout visait à permettre à une liste de fichiers cochés d'utiliser uniquement les noms de fichiers au lieu des chemins d'accès complets si la légende "selected" devient trop longue. Mon ajout est appelé à la place de UpdateSelection dans votre gestionnaire de postback :
// Update the caption assuming that the items are files<br/>
// If the caption is too long, eliminate paths from file names<br/>
public void UpdateSelectionFiles(int maxChars) {
StringBuilder full = new StringBuilder();
StringBuilder shorter = new StringBuilder();
foreach (ListItem item in Items) {
if (item.Selected) {
full.AppendFormat("{0}; ", item.Text);
shorter.AppendFormat("{0}; ", new FileInfo(item.Text).Name);
}
}
if (full.Length == 0) Texts.SelectBoxCaption = "Select...";
else if (full.Length <= maxChars) Texts.SelectBoxCaption = full.ToString();
else Texts.SelectBoxCaption = shorter.ToString();
}
HTML ne prend pas en charge une liste déroulante avec des cases à cocher. Vous pouvez avoir une liste déroulante ou une liste de cases à cocher. Vous pouvez éventuellement simuler une liste déroulante avec cases à cocher en utilisant du javascript et en masquant les divs, mais cela serait moins fiable qu'une liste de cases à cocher standard.
Il existe bien sûr des contrôles tiers qui ressemblent à une liste de cases à cocher déroulantes, mais ils utilisent les astuces des divisions.
vous pouvez également utiliser une double boîte de liste, qui gère la sélection multiple en déplaçant les éléments d'une liste à l'autre. Cette méthode présente l'avantage supplémentaire de permettre de voir tous les éléments sélectionnés en même temps, même si la liste des éléments totaux est longue.
(Imaginez une liste de toutes les villes du monde, avec seulement la première et la dernière sélectionnées).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.