C# Web Calendar 컨트롤에서 날짜를 선택하거나 선택 취소하려고합니다.ASP.NET 일정 컨트롤에서 날짜 선택 취소
내가 선택한 문제는 단 하나의 날짜 만 선택된 경우를 제외하고는 날짜를 선택하거나 선택 취소 할 수 있다는 것입니다.
클릭하면 변경된 이벤트가 트리거되지 않으므로 인디 드는 요일별 이벤트에서 작업을 수행하지만 확실하지 않습니다.
편집 : Pre_Render 이벤트 코드가 추가되었습니다. 이제는 제대로 작동하는 것 같습니다. 예를 들어 조금 엉뚱한 것 같습니다. 선택 날짜 A : OK 선택 날짜 B는 : OK 이 둘을 취소 : OK 선택 날짜 A : 선택 두 번 선택 해제 날짜 A를 필요가 작동하지 않습니다 : 좋아 선택 날짜 C : 날짜 A와 C는
를 선택@ 존
예, 컨트롤이 .NET 2.0 프레임 워크의 일부이며 C# 자체와 관련이 없음을 알고 있습니다. 지금까지
코드 :
public static List<DateTime> list = new List<DateTime>();
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.IsSelected == true)
{
list.Add(e.Day.Date);
}
Session["SelectedDates"] = list;
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
DateTime selection = Calendar1.SelectedDate;
if (Session["SelectedDates"] != null)
{
List<DateTime> newList = (List<DateTime>)Session["SelectedDates"];
foreach (DateTime dt in newList)
{
Calendar1.SelectedDates.Add(dt);
}
if (searchdate(selection, newList))
{
Calendar1.SelectedDates.Remove(selection);
}
list.Clear();
}
}
public bool searchdate(DateTime date, List<DateTime> dates)
{
var query = from o in dates
where o.Date == date
select o;
if (query.ToList().Count == 0)
{
return false;
}
else
{
return true;
}
}
protected void Calendar1_PreRender(object sender, EventArgs e)
{
if (Calendar1.SelectedDates.Count == 1)
{
foreach (DateTime dt in list)
{
if (searchdate(dt, list) && list.Count == 1)
{
Calendar1.SelectedDates.Clear();
break;
}
}
}
}
@yomismo : 당신은 아마 이것을 알고 있었지만 달력은 C#과 아무 관련이 없습니다. 이것은 .NET의 일부이며 C# 언어가 아닙니다. –