AFAIK, a calendar webpart isn't freeform whereas you can assign any recordsource to it. A calendar webpart displays data from a calendar list.
I suppose you could create a workflow that copies the needed data to a calendar list, such that the calendar webpart will display it.
There may be 3rd party calendar webpart that is more flexible.
Steve Clark, MCTS | Twin-Soft.com