dunid
13
2018-10-19 17:47:08 작성 2018-10-19 17:48:03 수정됨
0
465

fullcalendar events 에 관련된 질문이 있습니다


개발 도중에 이런 식으로 구현이 가능한지 궁금해서 여기에다가 글을 올리게 되었습니다.

fullcalendar 로 제작 중인데 events 를 표시 하는 방법에서 

동적으로 데이터를 받을 수 있는지 궁금해서 질문을 드립니다

<%
	HashMap<String, ArrayList<ConsultBean>> consultListMap = (HashMap<String, ArrayList<ConsultBean>>)request.getAttribute("consultListMap");
%>

$(document).ready(function() {
	$("#calendar").fullCalendar({
	    	header: {
	    	left: 'prevYear, prev, today, next, nextYear',
			center: 'title',
			right: 'month,agendaWeek,agendaDay,listWeek'
		},
		height: 650,
		navLinks: true, // can click day/week names to navigate views
		selectable: false,
		selectHelper: false,
		eventLimit: true, // allow "more" link when too many events
		eventOrder: "priority",
		//eventlist
		eventSources: [
			{
				events: [
<%
	for(ConsultBean List : consultListMap.get("TotalList")) {
		out.println("{");
		out.println("id : '0', ");
		out.println("title :'상담번호 : " + List.getID() + "', ");
		out.println("start :'" + List.getDate() + "" +"', ");
		out.println("priority: 1 "); // event top rank
		out.println("},");
	}
%>
				// other events here
			    ],
//			    color: 'black',     // an option!
			textColor : "#FFFFFF",
			}
		],
		editable: false,
		dayClick: function(date, allDay, jsEvent, view) {
		    $('#calendar').fullCalendar('gotoDate', date);
		}
	});
});

현재 Bean에 데이터를 Map에 담아온 뒤에 for문으로 fullcalendar Array 방식으로 전부다 호출하는 소스입니다

여기서 문제가 생기는게 저 자료가 100~1000개 이런 식으로 많아지게 되면 로딩하는데 길어질 것 같아서

해당 월에만 이벤트가 나오게 하려고 합니다.

ex) '2018-10-01' ~ '2018-10-31' 사이의 데이터만 추출해서 event로 표시 

문제는 fullcalendar 에서 '<' '>' 버튼 클릭하면 달이 변경되는데 이것에 맞게끔 event를 동적으로 변경하게 하려고 하는데 어떻게 event의 값을 변경시켜야할지 모르겠습니다.

ex) '<' 버튼 클릭시 '2018-09-01' ~ '2018-09-30' 사이의 데이터로 변경하여 event로 표시

도저히 감이 안 잡히네요. 부탁드립니다

0
0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.