Hi, i have a problem with calendar. its eventclickhandler returns null event everytime.
thanks for your help..
1. v9 enterprise edition nigthly build 2013-05-16
2. chrome 26.0.1410.64, firefox 20.0.1 , ie 9
3. no log
4. no server interaction
5. no error
6. calendar and calendardata
thanks for your help..
1. v9 enterprise edition nigthly build 2013-05-16
2. chrome 26.0.1410.64, firefox 20.0.1 , ie 9
3. no log
4. no server interaction
5. no error
6. calendar and calendardata
Code:
import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourceDateTimeField; import com.smartgwt.client.data.fields.DataSourceSequenceField; import com.smartgwt.client.data.fields.DataSourceTextField; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.calendar.Calendar; import com.smartgwt.client.widgets.calendar.CalendarEvent; import com.smartgwt.client.widgets.calendar.events.CalendarEventClick; import com.smartgwt.client.widgets.calendar.events.EventClickHandler; public class CustomCalendar extends Calendar { public CustomCalendar() { setWidth("80%"); DataSource eventDS = new DataSource(); DataSourceSequenceField eventIdField = new DataSourceSequenceField("eventId"); eventIdField.setPrimaryKey(true); DataSourceTextField nameField = new DataSourceTextField("name"); DataSourceTextField descField = new DataSourceTextField("description"); DataSourceDateTimeField startDateField = new DataSourceDateTimeField("startDate"); DataSourceDateTimeField endDateField = new DataSourceDateTimeField("endDate"); eventDS.setFields(eventIdField, nameField, descField, startDateField, endDateField); eventDS.setClientOnly(true); eventDS.setTestData(CalendarData.getRecords()); setDataSource(eventDS); setAutoFetchData(true); addEventClickHandler(new EventClickHandler() { @Override public void onEventClick(CalendarEventClick event) { CalendarEvent selectedevent = event.getEvent(); if (selectedevent == null) { SC.warn("smt. is wrong! how can i reach selected event?"); } } }); } }
Code:
import java.util.Date; import com.smartgwt.client.widgets.calendar.CalendarEvent; public class CalendarData { private static CalendarEvent[] records; private static Date today = new Date(); private static int year = today.getYear(); private static int month = today.getMonth(); private static int start = today.getDate() - today.getDay(); public static CalendarEvent[] getRecords() { if (records == null) { records = getNewRecords(); } return records; } public static CalendarEvent[] getNewRecords() { return new CalendarEvent[]{ new CalendarEvent(1, "Meeting", "Shareholders meeting: monthly forecast report", new Date(year, month, start + 2, 9, 0, 0), new Date(year, month, start + 2, 14, 0, 0)), new CalendarEvent(2, "Realtor", "Breakfast with realtor to discuss moving plans", new Date(year, month, start + 3, 8, 0, 0), new Date(year, month, start + 3, 10, 0, 0)), new CalendarEvent(3, "Soccer", "Little league soccer finals", new Date(year, month, start + 4, 13, 0, 0), new Date(year, month, start + 4, 16, 0, 0)), new CalendarEvent(4, "Sleep", "Catch up on sleep", new Date(year, month, start + 4, 5, 0, 0), new Date(year, month, start + 4, 9, 0, 0)), new CalendarEvent(5, "Inspection", "Home inspector coming", new Date(year, month, start + 4, 10, 0, 0), new Date(year, month, start + 4, 12, 0, 0), false, "testStyle"), new CalendarEvent(6, "Airport run", "Pick James up from the airport", new Date(year, month, start + 4, 1, 0, 0), new Date(year, month, start + 4, 3, 0, 0)), new CalendarEvent(7, "Dinner Party", "Prepare elaborate meal for friends", new Date(year, month, start + 4, 17, 0, 0), new Date(year, month, start + 4, 20, 0, 0)), new CalendarEvent(8, "Poker", "Poker at Steve's house", new Date(year, month, start + 4, 21, 0, 0), new Date(year, month, start + 4, 23, 0, 0)), new CalendarEvent(9, "Meeting", "Board of directors meeting: discussion of next months strategy", new Date(year, month, start + 5, 11, 0, 0), new Date(year, month, start + 5, 15, 0, 0)) }; } }
Comment