Avatar billede Skynet Mester
26. april 2008 - 16:20 Der er 3 kommentarer og
1 løsning

Listbox med datoer i DateTime (castning?)

Jeg skal bruge en aflæsning fra en Listbox med datoer i DateTime format, som så skal over i min metode. Problemet er hvordan jeg sender en DateTime afsted fra listboxen og til metoden?

her er hvordan jeg kalder metoden
listBox2.Items.Add(f1.getDato(listBox1.SelectedItem)); //(virker ikke)

kunne det gøres sådan:
listBox2.Items.Add(f1.getDato.Cast<object>(listBox1.SelectedItem)); //(virker måske?)

her er metoden fra klassen
public string getDato(DateTime dato1)
              {
                  foreach (Reservering en_reservering in reserveringsliste)

                      if (en_reservering.PropertyDato == dato1)
                      {
                          return en_reservering.PropertyReserveringsnavn;
                      }
                  return "datoen er fri";
              }


Her er de fejl jeg modtager

Error    3    The best overloaded method match for 'Software4divers.SuperResurser.getDato(System.DateTime)' has some invalid arguments 
Error    4    Argument '1': cannot convert from 'object' to 'System.DateTime'
Avatar billede Syska Mester
26. april 2008 - 16:53 #1
private void Form1_Load(object sender, EventArgs e)
        {
            List<DateTime> list = new List<DateTime>();
            for(int i = 0; i < 8; i++)
            {
                list.Add(DateTime.Now.AddDays(i));
            }
            listBox1.Items.AddRange(list.Cast<object>().ToArray());
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedItem == null)
                return;

            DateTime dt = (DateTime)listBox1.SelectedItem;
        }

Her kan du så bruge "dt" som du vil ... i funtions kald eller hvad du vil ...

// oUT
Avatar billede nielle Nybegynder
26. april 2008 - 17:10 #2
Den Form1_Load() er det vist lidt overkill:

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 8; i++)
                listBox1.Items.Add(DateTime.Now.AddDays(i));
        }
Avatar billede Skynet Mester
26. april 2008 - 17:18 #3
Mange tak, det virker..
Avatar billede Syska Mester
26. april 2008 - 17:52 #4
Jeg skulle jo have nogen DateTime i en ListBox på en måde ... for at være sikker på det virkede, så ved ikke om det er overkill ... jeg kan jo ikke teste med intet og ville bare gøre ham klar over at det er DateTime's jeg har smidt i min.

// ouT
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