This article shows you how to add columns dynamically to a GridView -
how to create columns dynamically in a grid view[
^]
To get the list of dates for the month just use a simple for-loop from 1 to
DateTime.DaysInMonth(Int32, Int32)[
^]
To get a month name as an integer to use in the DaysInMonth method try
var monthNo = DateTime.ParseExact(MonthName, "MMMM", CultureInfo.InvariantCulture).Month;
(You might want to use CurrentCulture instead of InvariantCulture depending on which language you are using to display MonthName)