Avatar billede woodbase Nybegynder
12. februar 2009 - 00:01 Der er 3 kommentarer og
1 løsning

Custom control anvendelse af properties (Extending DropDownList)

Hej.

Jeg er ved at lave en udvidelse af DropDownList. Mit første forsøg med dette.

Problemet er at jeg ikke kan få fat i en property som jeg har tilføjet: <wc:TimeSelectorDropDownList TimeSpan="30" runat="server" ID="TestDDL" />

Når listen dannes vil jeg have fat i TimeSpan, men det kan jeg ikke få til at virke:


public class TimeSelectorDropDownList : DropDownList
    {
        [
        Bindable(false),
        Category("Behaviour"),
        DefaultValue(30),
        Description("TimeSpan between values in minutes"),
        Localizable(true)
        ]
        public virtual int TimeSpan
        {
            get
            {
                return timeSpan;
            }

            set
            {
                if (value > 0)
                {
                    timeSpan = value;
                }
            }
        }

        private int timeSpan;

        public TimeSelectorDropDownList()
        {
           
            if (TimeSpan > 0)
            {
                this.Items.Add(new ListItem(TimeSpan.ToString()));
            }
            else
            {
                this.Items.Add(new ListItem("False build"));
            }
        }


timeSpan er HELE tiden nul. Hvordan får jeg lige fat i den?
Avatar billede arne_v Ekspert
12. februar 2009 - 00:32 #1
Hvor kalder du set henne ?
Avatar billede woodbase Nybegynder
12. februar 2009 - 08:27 #2
Hej Arne

Det er lidt det der er mit problem. Jeg ved ikke, hvordan jeg får værdien af TimeSpan property'en - så jeg har ikke noget at kalde set med
Avatar billede woodbase Nybegynder
12. februar 2009 - 09:24 #3
Mit problem er at jeg ikke ved hvordan jeg får fat i TimeSpan herfra: <wc:TimeSelectorDropDownList TimeSpan="30" runat="server" ID="TestDDL" />

Det virker fint, hvis jeg sætter det fra code behind, men det vil jeg helst undgå
Avatar billede woodbase Nybegynder
12. februar 2009 - 09:40 #4
Løsning:
protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            base.Items.AddRange(BuildTimeList(minuteInterval));
        }

Properties er jo ikke sat når jeg kalder constructoren! *DOH*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester