See also the documentation on event customization:
http://doc.daypilot.org/scheduler/event-customization/
The data source object properties can be reached using e.DataItem:
protected void DayPilotScheduler1_BeforeEventRender(object sender, BeforeEventRenderEventArgs e)
{
string type = (string) e.DataItem["type"];
if (type == "type1") {
e.ContextMenuClientName = "menu2";
}
}
You can also use e.Tag and DataTagFields -> these values will be available even for events restored from ViewState.
You have to define create a new DayPilotMenu object for each menu type. Set the ClientObjectName and use the value for e.ContextMenuClietName.