Jun 11, 2012, 3:37 AM
How to reload CalendarPanel Data of Code-Behind?
CalendarPanel Data was read from Database. When I added a data, I used CalendarPanel_DayClick function to add it into Database, So I need add data to CalendarPanel also. In GridPanel I use reload function for rebind the data. But I can not get the result in CalendarPanel.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Order.aspx.cs" Inherits="CQU.Net.Equipment.Equipment.Order" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" RemoveViewState="true" />
<ext:Viewport ID="ViewPort1" runat="server" Layout="FitLayout">
<Items>
<ext:CalendarPanel ID="CalendarPanel1" runat="server" Region="Center" ActiveIndex="2"
Border="false">
<EventStore ID="EventStore1" OnRefreshData="EventStore_Refresh" runat="server" />
<DirectEvents>
<RangeSelect OnEvent="CalendarPanel_RangeSelect" Before="extraParams.startDate = Ext.util.Format.date(dates.StartDate, 'Y/m/d');
extraParams.endDate = dates.EndDate;" />
<DayClick OnEvent="CalendarPanel_DayClick" Before="extraParams.date = dt;" />
</DirectEvents>
</ext:CalendarPanel>
</Items>
</ext:Viewport>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;
using CQU.Net.Equipment.IBLL.Equipment;
using Sincocn.Security.Interceptor;
namespace CQU.Net.Equipment.Equipment
{
public partial class Order : System.Web.UI.Page
{
public IUseRecordService service { set; get; }
private static List<Event> events = new List<Event>();
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
if (service != null)
{
DateTime dt = DateTime.Now;
DateTime dt_First = dt.AddDays(-(dt.Day) + 1);
DateTime dt2 = dt.AddMonths(1);
DateTime dt_Last = dt2.AddDays(-(dt.Day) - 1);
int equipmentId = int.Parse(Request["equipmentId"]);
List<DAL.UseRecord> useRecords = service.QueryUseRecord(equipmentId, dt_First, dt_Last);
foreach (DAL.UseRecord item in useRecords)
{
Event myEvent = new Event()
{
Title = "New Event",
StartDate = item.StartTime,
EndDate = item.EndTime,
IsAllDay = true,
CalendarId = 1
};
this.CalendarPanel1.EventStore.Events.Add(myEvent);
}
}
}
}
protected void EventStore_Refresh(object sender, StoreRefreshDataEventArgs e)
{
if (service != null)
{
DateTime dt = DateTime.Now;
DateTime dt_First = dt.AddDays(-(dt.Day) + 1);
DateTime dt2 = dt.AddMonths(1);
DateTime dt_Last = dt2.AddDays(-(dt.Day) - 1);
int equipmentId = int.Parse(Request["equipmentId"]);
List<DAL.UseRecord> useRecords = service.QueryUseRecord(equipmentId, dt_First, dt_Last);
foreach (DAL.UseRecord item in useRecords)
{
Event myEvent = new Event()
{
Title = "New Event",
StartDate = item.StartTime,
EndDate = item.EndTime,
IsAllDay = true,
CalendarId = 1
};
this.CalendarPanel1.EventStore.Events.Add(myEvent);
}
}
}
protected void CalendarPanel_RangeSelect(object sender, DirectEventArgs e)
{
DateTime startDate = DateTime.Parse(e.ExtraParams["startDate"]);
DateTime endDate = DateTime.Parse(e.ExtraParams["endDate"]);
DAL.UseRecord useRecord = new DAL.UseRecord()
{
EquipmentId = int.Parse(Request["equipmentId"]),
StartTime = startDate,
EndTime = endDate,
AppointTime = DateTime.Now,
AppointStartTime = startDate,
AppointEndTime = endDate,
ProjectId = 1,
Status = 1,
OrderDepartmentrCode = PageSecurityInterceptor.GetDepartmentInfo().Code,
OrderUserId = PageSecurityInterceptor.GetUserInfo().UserId,
OrderUserName = PageSecurityInterceptor.GetUserInfo().UserName
};
if (service != null)
{
service.AddUseRecord(useRecord);
}
CalendarPanel1.Reload();
//Event myEvent = new Event()
//{
// Title = "New Event",
// StartDate = startDate,
// EndDate = endDate,
// IsAllDay = true,
// CalendarId = 1
//};
//this.CalendarPanel1.EventStore.Events.Add(myEvent);
//this.CalendarPanel1.EventStore.DataBind();
}
protected void CalendarPanel_DayClick(object sender, DirectEventArgs e)
{
string d = e.ExtraParams["date"];
DateTime date = DateTime.Parse(d);
DAL.UseRecord useRecord = new DAL.UseRecord()
{
EquipmentId = int.Parse(Request["equipmentId"]),
StartTime = date,
EndTime = date,
AppointTime = DateTime.Now,
AppointStartTime = date,
AppointEndTime = date,
ProjectId = 1,
Status = 1,
OrderDepartmentrCode = PageSecurityInterceptor.GetDepartmentInfo().Code,
OrderUserId = PageSecurityInterceptor.GetUserInfo().UserId,
OrderUserName = PageSecurityInterceptor.GetUserInfo().UserName
};
if (service != null)
{
service.AddUseRecord(useRecord);
}
//Event myEvent = new Event()
//{
// Title = "New Event",
// StartDate = date,
// EndDate = date,
// IsAllDay = true,
// CalendarId = 1
//};
//this.CalendarPanel1.EventStore.Events.Add(myEvent);
//this.CalendarPanel1.EventStore.DataBind();
CalendarPanel1.Reload();
}
}
}