In Kentico 11, EventCalendar uses CMSCalendar, which is a built-in control in CMS.DocumentEngine.Web.UI. It extends (deep down the chain) System.Web.UI.WebControls.Calendar. I'd recommend using that instead of the Kentico version, if you're going to manually set the DataSource.
As far as the CMSCalendar control itself, it appears to have a DataSource property and it does have a get/set, but I am suspicious that just changing the datasource will do anything useful, given all the other properties it's exposing. You'd have to decompile the dll to see more about how it's being used.
Still recommend using System.Web.UI instead.