web-dev-qa-db-fra.com

Liste déroulante à sélection multiple dans ASP.NET

Existe-t-il une bonne liste déroulante à sélections multiples avec cases à cocher (contrôle Web) pour asp.net?

Merci beaucoup

34
Jan Remunda

Vous pouvez utiliser le contrôle System.Web.UI.WebControls.CheckBoxList ou utiliser le contrôle System.Web.UI.WebControls.ListBox avec la propriété SelectionMode définie sur Multiple.

35
knut

jQuery Dropdown Check List peut être utilisé pour transformer un élément HTML standard à sélection multiple en liste déroulante, il fonctionne sur le client et peut donc être utilisé avec toutes les technologies côté serveur:

alt text http://dropdown-check-list.googlecode.com/svn/trunk/doc/demo.png

27
Aleris

Essayez ce contrôle serveur qui hérite directement de CheckBoxList (gratuit, open source): http://dropdowncheckboxes.codeplex.com/

6
Maxim Saplin

J'ai utilisé le contrôle open source à http://dropdowncheckboxes.codeplex.com/ et j'en suis très heureux. Mon ajout consistait à autoriser une liste de fichiers vérifiés à utiliser uniquement des noms de fichiers au lieu de chemins complets si la légende sélectionnée était trop longue. Mon ajout s'appelle à la place de UpdateSelection dans votre gestionnaire de publication:

// 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();
} 
3
Mick Bruno
1
irfan

HTML ne prend pas en charge une liste déroulante avec des cases à cocher. Vous pouvez avoir une liste déroulante ou une liste à cocher. Vous pouvez éventuellement simuler une liste déroulante à l'aide de javascript et cacher des divs, mais ce serait moins fiable qu'une simple liste à cocher standard.

Il y a bien sûr des contrôles tiers qui ressemblent à une liste à cocher déroulante, mais ils utilisent les astuces div.

vous pouvez également utiliser une liste déroulante double, qui gère la sélection multiple en déplaçant des éléments entre deux listes. Cela présente l'avantage supplémentaire de pouvoir facilement voir tous les éléments sélectionnés en même temps, même si la liste du nombre total d'éléments est longue

(Imaginez une liste de toutes les villes du monde, avec seulement la première et la dernière sélectionnées)

1
Jason Coyne

J'aime les contrôles Infragistics. Le WebDropDown a ce dont vous avez besoin. Le seul inconvénient est qu'ils peuvent être un peu coûteux.

1
JP Alioto

Voici un contrôle Web ASP.NET appelé Multi-Select List Field à http://www.xnodesystems.com/ . Il est capable de:

(1) Sélection multiple; (2) Saisie automatique. (3) Validation.

0
Richard Xiong