You have a typo, missing a letter in the control ID.
ddlNewGridType = e.Row.FindControl("ddlNewGridype")
should be
ddlNewGridType = e.Row.FindControl("ddlNewGridType")
It is always a good idea to check that the returned value is not null, so that you catch and log these errors. This prevents changes to the .aspx file from silently breaking the .aspx.cs file.
ddlNewGridType = e.Row.FindControl("ddlNewGridype")
if (ddlNewGridType == null)
logger.Error("Oops, I can't find 'ddlNewGridType'.);