2009-12-16 5 views
0

Dans la liste déroulante asp.net, je dois découper les données dans la liste. Par exemple, si mon menu déroulant contient 10 enregistrements et que je veux seulement afficher les 20 premiers caractères de chaque enregistrement, alors comment puis-je le faire? De même, si les enregistrements ne sont que de 10 caractères, alors de 20 caractères, la liste déroulante devrait automatiquement se redimensionner à 10 caractères. des idées?asp .net dropdownlist rogner les données

Répondre

1

Si vous ne pouvez pas rogner les données à la source (c'est-à-dire la requête de la base de données ou d'où proviennent les données), vous pouvez simplement modifier les données après que la liste déroulante a été databonnée.

myDropDown.DataBind(); 

foreach (var item in myDropDown.Items) 
{ 
    if (item.Text.Length > 20) 
    { 
     item.Text = item.Text.Substring(0, 10); 
    } 
} 
0

Je ne me souviens pas si la version ASP.NET a une propriété Tag, mais si elle le fait raccourcirait le texte et préserver la valeur d'origine (à partir womp copié d'origine):

myDropDown.DataBind(); 
foreach (var item in myDropDown.Items) 
{ 
    if (item.Text.Length > 20) 
    { 
     item.Tag = item.Text; 
     item.Text = item.Text.Substring(0, 10); 
    } 
} 

Si ce n'est pas alors peut-être Attributes (pardonnez-moi si ma syntaxe est désactivée, pas de compilateur ici pour vérifier par rapport):

myDropDown.DataBind(); 
foreach (var item in myDropDown.Items) 
{ 
    if (item.Text.Length > 20) 
    { 
     item.Attributes["title"] = item.Text; 
     item.Text = item.Text.Substring(0, 10); 
    } 
}