GridViewDateTimeColumn provides date entry and formatting for DateTime data types. It handles the null values as well. Here is a sample code snippet which result is illustrated in the attached gif file.
public Form1()
{
InitializeComponent();
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
for (int i = 0; i < 20; i++)
{
if (i % 3 == 0)
{
dt.Rows.Add(i, "Data" + i, null);
}
else if (i % 3 == 1)
{
dt.Rows.Add(i, "Data" + i, DBNull.Value);
}
else
{
dt.Rows.Add(i, "Data" + i, DateTime.Now.AddDays(i));