2010-10-26 5 views
3

J'ai une fonction dans sitefinity qui retourne une liste de catégories.Comment commander une liste

//return list of categories 
    private IList<ICategory> GetCategoryDataSource() { 

     var cntManager = new ContentManager(CaseStudyManager.DefaultContentProvider); 
     IList allCategories = cntManager.GetCategories(); 
     List<ICategory> filteredList = new List<ICategory>(); 
     foreach (ICategory category in allCategories) { 

      filteredList.Add(category); 

     } 
     return filteredList; 
    } 

Ce que je veux savoir, c'est comment trier cette liste.

Catégories dans Sitefinity sont autant que je peux dire juste une chaîne, il n'y a pas d'autres champs associés à une catégorie. Par conséquent, je n'ai rien à trier les catégories, autres que celles annexant chaque catégorie avec un certain nombre, comme:

1 - Legal 
2 - Financial 
3 - Property 

Lorsque ces catégories sont affichées sur le site Web je peux alors rogner au moins les parties i besoin.

Quelqu'un peut-il aider avec le tri cependant?

Merci Al

+0

Cela ne répond pas à votre question, mais vous pouvez supprimer votre instruction foreach/add et la remplacer par: filteredList.AddRange (allCategories) – Dismissile

+6

Il n'y a pas d'autres propriétés dans l'interface ICategory? Aucun ID ou CategoryId que vous pouvez utiliser? 'return filteredList.OrderBy (x => x.CategoryId) .ToList()' – Martin

Répondre

0

Si vous les appelez comme vous l'avez mentionné, avec un préfixe, vous pouvez le faire:

001 | xxxxxxx

002 | djskdjskd

003 | sdkdsajdaks

foreach (ICategory category in allCategories) 
{    
    filteredList.Add(category.SubString(4);   
} 
Questions connexes