|
RadControls version
|
2010.2.929.40
|
| .NET version |
4.0
|
| Visual Studio version |
2010 Professional
|
| programming language |
C#
|
| browser support |
all browsers supported by RadControls
|
PROJECT DESCRIPTION
This will allow you to copy and paste appointments using keyboard shortcuts (ctrl+c & ctrl+v).
Make sure the body tag has onKeyDown() event.
Client side code for control+c & control+v
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
var selectedApt;
var activeTimeslot;
var copiedApt;
function OnClientAppointmentClick(sender, eventArgs) {
if (eventArgs.get_appointment()) {
selectedApt = eventArgs.get_appointment();
}
}
function OnClientTimeSlotClick(sender, eventArgs) {
if (eventArgs.get_targetSlot()) {
activeTimeslot = eventArgs.get_targetSlot();
}
}
function onKeyDown() {
// current pressed key
var pressedKey = String.fromCharCode(event.keyCode).toLowerCase();
if (event.ctrlKey && pressedKey == "c")
{
copiedApt = selectedApt;
}
if ((event.ctrlKey && pressedKey == "v") && copiedApt && activeTimeslot) {
var newAppointment = new Telerik.Web.UI.SchedulerAppointment();
var startTime = activeTimeslot.get_startTime();
var endTime = new Date(activeTimeslot.get_startTime());
endTime.setTime(endTime.getTime() + copiedApt.get_duration());
newAppointment.set_start(startTime);
newAppointment.set_end(endTime);
newAppointment.set_subject(copiedApt.get_subject());
var scheduler = $find('<%= RadScheduler1.ClientID %>');
scheduler.insertAppointment(newAppointment);
activeTimeslot = null;
}
}
</script>
</telerik:RadScriptBlock>
RadScheduler event bindings
Daryl
Software Developer