DayPilot Month allows custom event sorting inside a single block of overlapping events.
It's available for both the default row stacking mode and the cell stacking mode:
The default sorting rule corresponds to:
start asc, end desc
You can specify a custom sorting expression.
JavaScript
JavaScript uses values of .sort array of DayPilot.Event.data and .sortDirections property to sort the events.
It can be enabled by specifying the sort directions in .sortDirections.
<div id="dp"></div> <script type="text/javascript"> var dp = new DayPilot.Month("dp"); dp.sortDirections = ["asc", "desc"]; dp.events.list = [ { start: "2013-03-25T00:00:00", end: "2013-03-25T12:00:00", id: "123", text: "Event 123", sort: [1, "Event 123"] }, { start: "2013-03-25T00:00:00", end: "2013-03-25T12:00:00", id: "124", text: "Event 124", sort: [2, "Event 124"] } ]; // ... dp.init(); </script>
ASP.NET WebForms
EventSortExpression="priority asc, name desc"
The "priority" and "name" fields must be available in the data source.
ASP.NET MVC
Use EventSortExpression to override the default sorting rule for concurrent events.
You can use custom database fields in the sort expression.
Example
EventSortExpression = "priority asc, name desc";