我在SmartGWT上面临一个问题Calendar
对象未在其正确位置显示CalendarEvents
我有两个需要显示的事件
EVENT ID ::: 1 :: START DATE :: Mon Mar 11 16:30:00 IST 2013 :: END DATE :: Mon Mar 11 19:00:00 IST 2013
EVENT ID ::: 2 :: START DATE :: Mon Mar 11 20:00:00 IST 2013 :: END DATE :: Mon Mar 11 23:06:00 IST 2013
Image1显示:日历事件显示事件2的详细信息但位置错误
Image2显示:日历事件显示事件1的详细信息,但事件设置的时间是事件1
我还附上了我的源代码:
Criteria criteria = new Criteria();
criteria.addCriteria("truckId", "10");
calendar.setShowDayView(false);
calendar.setShowMonthView(false);
calendar.setShowWeekView(true);
calendar.setRowHeight(40);
calendar.setDisableWeekends(false);
calendar.setTimeFormatter(TimeFormatter.TOSHORT24HOURTIME);
calendar.setDataSource(DataSource.get(LOAD_DMI));
calendar.invalidateCache();
calendar.fetchData(criteria, new DSCallback()
{
@Override
public void execute(DSResponse response, Object rawData, DSRequest request)
{
try
{
Record[] recordList = response.getData();
record = new CalendarEvent();
int temp = 1;
calendarEvnt = new CalendarEvent[recordList.length];
for(int k=0; k<recordList.length; k++)
{
record.setEventId(temp);
record.setName(recordList[k].getAttribute("customerName"));
record.setDescription(recordList[k].getAttribute("truckName"));
record.setStartDate(recordList[k].getAttributeAsDate("scheduledPickUpDateAndTime"));
record.setEndDate(recordList[k].getAttributeAsDate("scheduledDropOffDateAndTime"));
calendarEvnt[k] = new CalendarEvent(record.getEventId(), record.getName(), record.getDescription(), record.getStartDate(), record.getEndDate());
temp++;
}
System.out.println("CALENDER EVENT Size ::: "+calendarEvnt.length);
calendar.setData(calendarEvnt);
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
calendar.draw();
答案 0 :(得分:0)
日历集setEventAutoArrange(false)
可能会解决此问题。
答案 1 :(得分:0)
我遇到了同样的问题,我偶然发现了这个问题,我确实尝试了setEventAutoArrange(false)
,该调用解决了问题,直到我注意到如果将setEventAutoArrange设置为false,则日历项目无法显示共享的事件相同的开始和结束时间。我不确定为什么smartgwt呈现OP所示的事件。但是,如果你在calendar.markForRedraw();
中调用DSCallback
并且问题消失而你不需要setEventAutoArrange(false)
并且calander可以渲染所有事件而没有完成数据源提取,我就会发现问题。
我希望将来可以帮助某人。
- 编辑 -
似乎这并不适用于所有情况。