Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    AAA cercasi genio in Calendar

    ehhehe quanto sono spiritoso, però sono 2 giorni che sto impazzendo con i controlli sulle date.

    vorrei sapere se conoscendo una data, si possa disabilitare il calendar per tutte quelle date inferiori.

    esempio se ho la data dd/mm/aaaa, io vorrei disabilitare la selezione di tutte quelle date inferiori ad dd/mm/aaaa

    si può fare?

    il mio problema è che quando seleziono una data, devo andare a controllare se qualla data nel db è disponibile, mi vado a spulciare se questa sta nell'intervallo che ho nel db.

    if my_data>Data_INIZIO_DB and my_data<Data_FINE_DB then
    ' non la puoi selezionare

    ok, però questo comporta che faccia i confronti con tutti i record. Visto che propongo la data disponibile a priori, vorrei fare in modo che se si seleziona una data inferiore a questa scatti l'errore, mentre se si seleziona una data maggiore di questa, controlli solo in quei record dove la data è maggiore e non inferiore(inutile)



    aiuto.....

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Tempo indietro per prendere confidenza con i controlli .net avevo fatto un calendario che faceva un po di tutto, compreso il non poter selezionare le date non comprese in un certo intervallo.
    Nel caso specifico la data inferiore a quella odierna non è selezionabile.
    Prova vedere se ti può essere utile.
    <%@ Page Language="VB" Debug="true" Culture="it-IT" uiculture="it-IT" ResponseEncoding="utf-8" %>
    <%@ import Namespace="System.Data" %>
    <script runat="server">

    Sub Page_Load(Src As Object, E As EventArgs)

    End Sub

    Sub DayRender(source As Object, e As DayRenderEventArgs)
    If not e.Day.IsToday Then
    dim oggi as string
    dim mese as string
    oggi = Calendar1.TodaysDate
    mese = Calendar1.TodaysDate
    oggi = Mid(oggi, 1, 2)
    mese = Mid(mese, 4, 2)
    if Mid(mese, 1, 1)= 0 then
    mese = Mid(mese, 2, 1)
    end if

    if not e.Day.IsOtherMonth then
    e.Cell.BackColor = System.Drawing.Color.Yellow
    e.Cell.ForeColor = System.Drawing.Color.blue
    if oggi > e.Day.Date.Day and not mese < e.Day.Date.Month then
    e.Cell.BackColor = System.Drawing.Color.beige
    e.Day.IsSelectable = False
    end if
    'response.write(mese)
    if e.Day.IsOtherMonth and e.Day.Date.Month > mese then
    e.Cell.BackColor = System.Drawing.Color.beige
    e.Day.IsSelectable = False
    end if
    end if
    if mese > e.Day.Date.Month and not e.Day.IsOtherMonth then
    e.Cell.BackColor = System.Drawing.Color.beige
    e.Day.IsSelectable = False
    end if
    if e.Day.IsOtherMonth then
    e.Day.IsSelectable = False
    end if
    End If
    If e.Day.IsToday and not e.Day.IsOtherMonth Then
    'e.Cell.BackColor = System.Drawing.Color.FromArgb(4, 0, 196, 217)
    e.Cell.BackColor = System.Drawing.Color.FromName("#A4C4D9")
    e.Cell.Controls.Add(new LiteralControl("<H4>Oggi</H4>"))
    End If
    if e.Day.IsSelected then
    e.Cell.BackColor = System.Drawing.Color.DarkSeaGreen
    End If
    End Sub

    </script>
    <html>
    <head>
    </head>
    <body>
    <form name="modulo" runat="server">
    <asp:Calendar id="Calendar1" runat="server" DayNameFormat="Full" BorderColor="Black" ShowGridLines="True" Width="100%" Height="100%" NextPrevFormat="ShortMonth" BackColor="Aqua" Font-Size="18px" Font-Name="Verdana" OnDayRender="DayRender">
    <SelectorStyle font-size="28px"></SelectorStyle>
    <NextPrevStyle font-size="13px" forecolor="White"></NextPrevStyle>
    <DayHeaderStyle font-bold="True"></DayHeaderStyle>
    <SelectedDayStyle font-bold="True" forecolor="black" ></SelectedDayStyle>
    <TitleStyle font-bold="True" forecolor="White" backcolor="#3366FF"></TitleStyle>

    </asp:Calendar>
    </form>
    </body>
    </html>

    Ciao
    Legnetto

  3. #3
    selectable.. bello.. grande

  4. #4
    scusa l'ignoranza...io ho una funzione DISPONIBILITA'

    questa mi cerca in base a delle specifiche, la prima data disponibile da selezionare. Io vorrei disabilitare tutti i giorno precendenti a questa.

    ho provato a fare DatRender(my_data) però facendo cosi mi vado a perdere tutte le funzioni per disabilitare ecc.


    Non c'è un modo di fare questa cosa senza impostare la funzione nel Calendar?

  5. #5
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Originariamente inviato da Jc_
    selectable.. bello.. grande
    Per Jc
    Potresti spiegare un po meglio il tuo post?

    Per Daniele80
    Dovresti prendere da db le due date min e max, e poi con un ciclo che passi in rassegna tutti i giorni che intercorrono verificare con la proprietà IsSelectable di CalendarDay se appunto la data deve essere selezionabile.
    Non ho provato ma dovrebbe funzionare.
    Ciao
    Legnetto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.