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 using EventSortExpression property.

ASP.NET WebForms

EventSortExpression="priority asc, name desc"

The "priority" and "name" fields must be available in the data source.


Use EventSortExpression to override the default sorting rule for concurrent events.

You can use custom database fields in the sort expression.


EventSortExpression = "priority asc, name desc";


JavaScript uses values of .sort array of 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"]; = [
      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"]
  // ...