Listbox enum binding

Imam en enum:

[Flags]

enum MyEnum { val1 = 1, val2 = 2, val3 = 4, val4 = 8, val5 = 16 }

imam pa tudi 2 listboxa.

v prvega bi rad na zacetku dal vse vrednosti tega enuma da bi lahko potem user izbral katerega hoce uporabit.

pac 2 simple listboxa kjer lahko prestavljas vrednosti iz enega v drugega.

 

zato ker ima ta enum Flags atribut mi njegov ToString() vrne vse vrednosti v CSV obliki. zdej lahko bi to spravil v array in to bindal gor ampak me zanima

ce obstaja kaksna lepsa resitev?

Any ideas? 

 

Avtor: spirit1, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

spirit1
spirit1 - sreda, 18. april 2007

black magic code!!my favorite

MihaM
MihaM - sreda, 18. april 2007

Po mojem ni kake pametnejše rešitve. Moraš pač sam malo čarat.

spirit1
spirit1 - sreda, 18. april 2007

emm.... cak torej ce jst tole prav stekam ti to vrne List<T> ki ga potem zbindas na listbox?ker to zdej mam narejeno tudi z enostavnim string[], ki ga bindam na listbox.

fora
fora - sreda, 18. april 2007

Če sem te prav razumel potem ti bo tole prov prišlo:        public static List<TEnumItem> GetEnum(Type pEnum)        {            List<TEnumItem> pResult = new List<TEnumItem>();            foreach (byte fEnum in Enum.GetValues(pEnum))                pResult.Add(new TEnumItem(Enum.GetName(pEnum, fEnum).ToString(), fEnum));            return pResult;        }TEnumItem pa je objekt z dvema property-ma. Value in key. Ja klic pa v tvojem primeru: GetEnum(typeOf(MyEnum)); Je pa fora da moraš enum imet tkole definiran: enum MyEnum : byte { val1 = 1, val2 = 2, val3 = 4, val4 = 8, val5 = 16 }