none
Seleccionar un rango de fechas en un control monthcalendar

    Question

  • Buenos dias, necesito seleccionar un rango de fechas seleccionado la fecha inicial y arrastrando el puntero hasta la final, de la pagina de ayuda msdn he bajado el codigo adjunto, con el selecciono la fecha inicial y la final pero:

     yo lo  que necesito son todas las fechas para poder guardarlas en un una tabla.

    MonthCalendar1.SelectionRange = New SelectionRange(MonthCalendar1.SelectionRange.Start, MonthCalendar1.SelectionRange.End)
    
    
    
    
    


    Como podria obtener las fecha?

     

    Saludos Y Gracias.


    forlanfor
    Saturday, June 11, 2011 8:50 AM

Answers

  • si haces

    Dim fechainicio As DateTime =MonthCalendar1.SelectionRange.Start

    Dim fechafin As DateTime = MonthCalendar1.SelectionRange.End

    TimeSpan diff = fechafin.Subtract(fechainicio)

    For i As Integer = 0 To dif.Days

      Dim dia As DateTime =  MonthCalendar1.SelectionRange.Start.AddDays(i)

      'aqui tiene3 cada dia en el rango

    Next

     

    igualmente creo que habia escrito mal el nombre del metodo deberia ser Subtract()

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by Forlanfor Monday, June 13, 2011 2:17 PM
    Monday, June 13, 2011 1:15 PM

All replies

  • hola

    pero si tienes la fecha inico y fin solo es cuestion de hacer un loop y recorrerlas

    TimeSpan diff = MonthCalendar1.SelectionRange.End.SubStract(MonthCalendar1.SelectionRange.Start)

    For i As Integer = 0 To dif.Days

      Dim dia As DateTime =  MonthCalendar1.SelectionRange.Start.AddDays(i)

      'aqui tiene3 cada dia en el rango

    Next

    como veras se recorre de la fecha de inicio a la final sumando dias

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Saturday, June 11, 2011 3:00 PM
  • No logro entederlo, podrias alargar un poco mas la explicacion

    Gracias Forlanfor.


    forlanfor
    Saturday, June 11, 2011 9:09 PM
  • que parte seria la que no queda clara?

    basicamente se usa el SubStract() quee s un metodod el Datetime para restar las fechas y este devuelve un tipo de dato Timespan

    con este obtiene los dis que hay entre el inicio y el fin

    entonces recorrer esos dias y vas sumando de a uno a la fecha de inicio

    con eso tendras el rango de todos los dias que has mencionado necesitas

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, June 12, 2011 4:51 AM
  • Gracias ahora logro entenderlo, pero no puedo corregir el error, 

    Dim dif As TimeSpan
            dif = MonthCalendar1.SelectionRange.End.SubStract(MonthCalendar1.SelectionRange.Start)

    Tengo claro el bucle For, pero la diferencias de dias que el dato importante para parar el For no logro calcularlo con el SubStract()

    El error es "SubStrac() no es un mienbro de Date"

     

    Saludos Y Gracias Forlanfor

     

     


    forlanfor
    Monday, June 13, 2011 4:25 AM
  • si haces

    Dim fechainicio As DateTime =MonthCalendar1.SelectionRange.Start

    Dim fechafin As DateTime = MonthCalendar1.SelectionRange.End

    TimeSpan diff = fechafin.Subtract(fechainicio)

    For i As Integer = 0 To dif.Days

      Dim dia As DateTime =  MonthCalendar1.SelectionRange.Start.AddDays(i)

      'aqui tiene3 cada dia en el rango

    Next

     

    igualmente creo que habia escrito mal el nombre del metodo deberia ser Subtract()

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by Forlanfor Monday, June 13, 2011 2:17 PM
    Monday, June 13, 2011 1:15 PM
  • Bien!!!!!!!!, yo estube buscando tambien el metodo Subtract() pero no me di cuenta que estaba mal escrito.

     

    Saludos Forlanfor


    forlanfor
    Monday, June 13, 2011 2:19 PM