You could create a new property in your Dto.
public string ScheduleDateString { get { return ScheduleDate.ToString("dd MMM yyyy"); } }
Then bind the DataGridView column to the string type property. This will not be an editable field since it only has a getter. Will that do?
That being said I'm wondering why you would want to force it to do this. The system is doing what it's supposed to do, displaying and allowing edit in the user's settings. So if their settings are dd MMM yyyy then that's what it will show (and editing will be allowed).