How do you implement the filter?
The recommended way to is store the filter in .clientState and update the calendar using .commandCallBack().
$(document).ready(function() {
$("#dropdown").change(function() {
// store the dropdown value in clientState
dp.clientState.filter = $(this).val();
// refresh the calendar
dp.commandCallBack("refresh");
});
});
This will fire Command event on the server side with e.Command set to "refresh".
The filter value can be read using .ClientState:
string filterType = (string) DayPilotMonth1.ClientState["filter"];
Note that clicking the navigator will fire the Command event handler as well but this time with e.Command set to "navigate".
You should refresh the monthly calendar in the Command event handler (i.e. load events from the database, assign the event set to DataSource, call DataBind() and Update()) for both e.Command values. You need to apply the filter in both cases.
This kind of filter is implemented in the Shift Scheduling Tutorial:
http://code.daypilot.org/34377/shift-scheduling-tutorial-asp-net-sql-server-c-vb-net
See the "Assignments by Location" and "Assignments by Person" section. They are both implemented the same way.
See also:
http://doc.daypilot.org/month/clientstate/
Let me know if it didn't help.