如何在radcalendar中显示逗号分隔日期

时间:2015-09-08 11:18:24

标签: c# asp.net vb.net visual-studio-2010 telerik

我的asp.net网页上有一个文本框,radCalendar和Button Control

当我在radcalender中选择多个日期时,我将其存储在文本框中,如2015年9月2日,2015年9月3日,2015年9月4日,动态,因为我选择在文本框中添加的radcalender日期中的日期,请检查下面的代码:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        On Error Resume Next

        Dim stringbuilder As StringBuilder = New StringBuilder
        For Each selecteddate As RadDate In RadCalendar1.SelectedDates
            stringbuilder.Append(selecteddate.Date.ToString("dd-MMM-yyyy") + ", ")
        Next
        stringbuilder.Length -= 2
        TextBox1.Text = stringbuilder.ToString
    End Sub

我想要什么?

我希望如果文本框已经有多个日期为2015年9月3日,2015年9月9日,2015年9月11日,在page_load事件中,那么当页面加载并休息所有日历时,以下日期是radcalendar中的高亮显示日期被禁用。

1 个答案:

答案 0 :(得分:0)

如果您在SelectionMode=Single,则可以使用日历SelectedDate属性设置所选日期,如:

RadCalendar calendar = new RadCalendar();  
calendar.SelectionMode = SelectionMode.Single;  
calendar.SelectedDate = new DateTime(2008, 7, 7); 

对于其他SelectionModes (Multiple and Extended),您应该使用日历的SelectedDates属性,例如:

RadCalendar calendar = new RadCalendar();  
calendar.SelectionMode = SelectionMode.Extended;  
calendar.SelectedDates.Add(new DateTime(2008, 7, 7));  
calendar.SelectedDates.Add(new DateTime(2008, 7, 8));  
calendar.SelectedDates.Add(new DateTime(2008, 10, 10)); 

以下是

if(Page.IsPostBack){
   if( String.IsNullOrWhiteSpace(datestextbox.Text)==false)  //textbox in which dates as stored as comma separated
{
string[] datesToShow = datestextbox.Text.Split(',');
foreach (string date in datesToShow)
{
  yourCalendar.SelectedDates.Add(new DateTime (date )); 
}
}
}