<asp:templatefield> <headertemplate> <asp:dropdownlist id="ddlYears" runat="server">And then can bind it as protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e){ if (e.Row.RowType == DataControlCellType.Header) { DropDownList mydropDown = (DropDownList)e.Row.FindControl("ddlYears"); mydropDown.DataSource = YourDataset; mydropDown.DataValueField = "ValueField"; mydropDown.DataTextField = "DisplayFieldName"; mydropDown.DataBind(); }}