Inline editing has to be activated by mapping one of the user actions to "Edit" (see event click).
JavaScript
<div id="dp"></div>
<script type="text/javascript">
var dp = new DayPilot.Calendar("dp");
dp.eventClickHandling = "Edit";
dp.onEventEdited = function(args) {
dp.message("Event text changed to " + args.newText);
};
// ...
dp.init();
</script>
ASP.NET WebForms
Client side
<DayPilot:DayPilotCalendar runat="server" id="DayPilotCalendar1" ... EventClickHandling="Edit" EventEditHandling="CallBack" OnEventEdit="DayPilotCalendar1_EventEdit"
/>
Server side
protected void DayPilotCalendar1_EventEdit(object sender, EventEditEventArgs e)
{ UpdateEventText(e.Id, e.NewTest); // your method DayPilotCalendar1.DataSource = LoadData(); // your method
DayPilotCalendar1.DataBind();
DayPilotCalendar1.Update();
}
ASP.NET MVC
Client side:
@Html.DayPilotCalendar("dps", new DayPilotCalendarConfig {
BackendUrl = ResolveUrl("~/Calendar/Backend"),
...
EventClickHandling = EventClickHandlingType.Edit,
EventEditHandling = EventEditHandlingType.CallBack
})
Server side:
protected override void OnEventEdit(EventEditArgs e)
{
new EventManager(Controller).UpdateText(e.Id, e.NewText);
UpdateWithMessage("Event updated.");
}
DayPilot