//Event triggering
this.scheduleControl1.ItemChanged += ScheduleControl1_ItemChanged;
//Event customization
private void ScheduleControl1_ItemChanged(object sender, ScheduleAppointmentEventArgs e)
{
BindingSource Bnd1 = new BindingSource();
Bnd1.DataSource = SimpleArrayListProvider.data;
//To get the modified row.
int rowNo = Bnd1.Find("UniqueID", e.CurrentItem.UniqueID);
if (rowNo != -1)
{
//Update changes when the existing record modified.
if (e.Action == ItemAction.Edit)
{
SimpleArrayListProvider.data.Rows[rowNo]["Subject"] = e.CurrentItem.Subject;
SimpleArrayListProvider.data.Rows[rowNo]["Content"] = e.CurrentItem.Content;
SimpleArrayListProvider.data.Rows[rowNo]["StartTime"] = e.CurrentItem.StartTime;
SimpleArrayListProvider.data.Rows[rowNo]["EndTime"] = e.CurrentItem.EndTime;
SimpleArrayListProvider.data.Rows[rowNo]["Label"] = e.CurrentItem.LabelValue;
}
//Update the DB when a row is deleted.
else if (e.Action == ItemAction.Delete)
{
SimpleArrayListProvider.data.Rows[rowNo].Delete();
}
}
//Update the changes when an appointment is added.
else if (rowNo == -1 && e.Action == ItemAction.Add)
{
DataRow row = SimpleArrayListProvider.data.NewRow();
row["Subject"] = e.CurrentItem.Subject;
row["Content"] = e.CurrentItem.Content;
row["StartTime"] = e.CurrentItem.StartTime;
row["EndTime"] = e.CurrentItem.EndTime;
row["Label"] = e.CurrentItem.LabelValue;
row["UniqueID"] = e.CurrentItem.UniqueID;
SimpleArrayListProvider.data.Rows.Add(row);
}
} |