Private Sub Calendar1_DayRender (ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender
If (e.Day.Date.Day < Now.Day) Or (e.Day.Date.Month < Now.Month) Then
e.Day.IsSelectable = False
End If
End Sub
este codigo ahce lo que quiero, pero si te vas a meses anteriores te deshabilita los dias que ya pasaron pero conforme a la fecha de hoy osea que si hoy es 18 de octubre, y te vas a septiemble , en este mes te deshabilitara del 1 al 17 pero del 18 al 30 de semtiembre aparecera hablitado, pero en agosto apareceren habilitados los diasd del 18 al 31 y asi en cada mes, osea no cumple regla...
en este codigo ...
Sub DayRender(source As Object, e As DayRenderEventArgs)
If (e.Day.Date.Month < Now.Month) or (e.Day.Date.Year < Now.Year) Then
e.Day.IsSelectable = False
End If
if (e.Day.Date.Year > Now.Year)
e.Day.IsSelectable = True
End If
End Sub
si cumple que los dias anteriores de meses anteriores aparescan deshabilitados, pero en el mes actual aparecen todos los dias habilitados.. si alguien me puede ayudar para que el mes actual no me selecione los dias anteriores a hoy, se los agradeceria porque he hecho todas las convinaciones posibles y no me sale y seefectan todos los meses anteriores o los meses que de años que aun no llegan....
aqui esta todo el codigo pero la perte que en verdad debe de ser..
Código:
es la de SUB DayRender
Código:
<%@ Page Language="VB" Debug="true"%>
<%@ import Namespace="System.Globalization" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
myCalendar.ShowTitle = False
If Not Page.IsPostBack Then
response.Write(Request.QueryString("textbox"))
Call Populate_MonthList()
Call Populate_YearList()
End If
End Sub
Sub Calendar1_DayRender(Sender As Object, E As EventArgs)
'document.forms[0].elements[obj]
'
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
If Not Request.QueryString("textbox") Is Nothing Then
Dim strScript As String = "<script>window.opener.document.forms(0)." + Request.QueryString("textbox").ToString + ".value = '"
strScript += myCalendar.SelectedDate.ToShortDateString()
strScript += "';self.close()"
strScript += "</" + "script>"
RegisterClientScriptBlock("Calendar_ChangeDate", strScript)
End If
' Calen.Text = myCalendar.SelectedDate.ToShortDateString()
End sub
Sub DayRender(source As Object, e As DayRenderEventArgs)
If (e.Day.Date.Month < Now.Month) or (e.Day.Date.Year < Now.Year) Then
e.Day.IsSelectable = False
End If
if (e.Day.Date.Year > Now.Year)
e.Day.IsSelectable = True
End If
End Sub
Sub Set_Calendar(Sender As Object, E As EventArgs)
'Whenever month or year selection changes display the calendar for that month/year
myCalendar.TodaysDate = CDate(drpCalMonth.SelectedItem.Value & " 1, " & drpCalYear.SelectedItem.Value)
End Sub
Sub Populate_MonthList()
drpCalMonth.Items.Add("January")
drpCalMonth.Items.Add("February")
drpCalMonth.Items.Add("March")
drpCalMonth.Items.Add("April")
drpCalMonth.Items.Add("May")
drpCalMonth.Items.Add("June")
drpCalMonth.Items.Add("July")
drpCalMonth.Items.Add("August")
drpCalMonth.Items.Add("September")
drpCalMonth.Items.Add("October")
drpCalMonth.Items.Add("November")
drpCalMonth.Items.Add("December")
drpCalMonth.Items.FindByValue(MonthName(DateTime.Now.Month)).Selected = True
End Sub
Sub Populate_YearList()
Dim intYear As Integer
For intYear = DateTime.Now.Year to DateTime.Now.Year + 10
drpCalYear.Items.Add(intYear)
Next
drpCalYear.Items.FindByValue(DateTime.Now.Year).Selected = True
End Sub
function MonthName (intMonth)
select case intMonth
case 1
MonthName = "January"
case 2
MonthName = "February"
case 3
MonthName = "March"
case 4
MonthName = "April"
case 5
MonthName = "May"
case 6
MonthName = "June"
case 7
MonthName = "July"
case 8
MonthName = "August"
case 9
MonthName = "September"
case 10
MonthName = "October"
case 11
MonthName = "November"
case 12
MonthName = "December"
end select
end function
</script>
<style type="text/css">
BODY { font-family: verdana, arial, helvetica;
}
.calTitle {font-weight: bold;
font-size: 11;
background-color:#cccccc;
color: black;
width: 90px;
}
.calBody {font-size: 11;
border-width: 10px;
}
</style>
<table cellspacing="0" cellpadding="0" width="20%" border="0">
<form id="frmCal" runat="server">
<tbody>
<tr>
<td align="left" bgcolor="#cccccc">
<asp:DropDownList id="drpCalMonth" Runat="Server" AutoPostBack="True" OnSelectedIndexChanged="Set_Calendar" cssClass="calTitle"></asp:DropDownList>
</td>
<td align="right" bgcolor="#cccccc">
<asp:DropDownList id="drpCalYear" Runat="Server" AutoPostBack="True" OnSelectedIndexChanged="Set_Calendar" cssClass="calTitle"></asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Calendar OnSelectionChanged="Calendar1_DayRender" OnDayRender="DayRender" OtherMonthDayStyle-BackColor="White" DayStyle-BackColor="LightYellow" id="myCalendar" Runat="Server" cssClass="calBody" DayHeaderStyle-BackColor="#eeeeee" Width="100%"></asp:Calendar>
<asp:label ID="calen" runat="server"></asp:label>
</td>
</tr>
</tbody>
</form>
</table>

