95 messaggi dal 06 novembre 2007
Ciao ragazzi, son nei casini e non riesco ad uscirne cavolo  !!!

Vorrei ordinare delle dropdownlist e non posso farlo lato SQL, percio ho deciso di far un metodo che prende i valori delle ddl, le mette in un array list, vengono ordinate e ripopolate di conseguenza.
Il punto è che il sort non funge, ecco un esempio:


io richiamo questo passando la mia dropdown

protected void SortDropDownList( DropDownList ddl )
{
ArrayList wList = new ArrayList();

foreach ( ListItem item in ddl.Items )
{
wList.Add( item.Value );
}

IComparer myComparer = new myReverserClass();
wList.Sort( myComparer );

ddl.Items.Clear();

for ( int i = 0; i < wList.Count; i++ )
{
ddl.Items.Add( wList[i].ToString() );
}
} //SortDropDownList



public class myReverserClass : IComparer
{
int IComparer.Compare( Object x, Object y )
{

return( (new CaseInsensitiveComparer()).Compare( y, x ) );
}
}

avete consigli? le mie dropdown contengono value e text che hanno lo stesso valore. possono esser stringhe e numeri!
95 messaggi dal 06 novembre 2007
scusate..forse ho gia risolto facendo cosi:


int IComparer.Compare( Object x, Object y )
{
string c1 = x.ToString();
IComparable ic1 = ( IComparable )c1.ToString();

string c2 = y.ToString();
IComparable ic2 = ( IComparable )c2.ToString();


return ic1.CompareTo(ic2);

//return( (new CaseInsensitiveComparer()).Compare( y, x ) );
}

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.