FYI<BR>To create a pop up calendar in a Gridview that populates a textbox with a date do the following:<BR>1. Create a aspx page and place a gridview control on it and set the autoGenerateColumns to false and the autoGenerateEditButton to true<BR><BR>2. Drag a SQL or Access Datasource on to the page<BR><BR>3. Configure the datasource and then set the Gridviews DatasourceID to the newly create datasource<BR><BR>4. Create an ItemTemplate, in the Gridview for, the column you want to have a pop up calendar appear in.<BR><BR>5. Then create an EditItemTemplate and put the following tags inside:<BR>&#060;input name="txtboxname" type="text" value=&#039;&#060;%# Eval("nameofcolumn")%&#062;&#039; -- An HTML textbox is required for this to work. I used a &#060;%#Eval%&#062; to place the current date in the textbox when the user clicks on the edit link.<BR><BR>&#060;a href="javascript:;" onclick="calendar(&#039;&#060;%#Eval("nameofcolumn "%&#062;&#039;, &#039;txtboxname&#039;)"&#062;Calendar&#060;/a&#062;<BR>If you want to add an image just place that tag in between the &#060;a&#062; tag. &#060;a&#062;&#060;img&#062;&#060;/a&#062;<BR><BR>6. Next, we must create the javascript function. Go to the &#060;head&#062; section of your aspx page and type the following:<BR><BR>&#060;script language="javascript" type="text/javascript"&#062;<BR>function calendar(strField, formname)<BR>{<BR>window.open(&#039;calendar.aspx? formname=form1.&#039; + formname + &#039;&startdate=&#039; + strField, &#039;calendarpopup&#039;, &#039;width=give a number, height=give a number&#039;);<BR>}<BR>&#060;/script&#062;<BR><BR>The formname will be used on the calendar.aspx page to know what textbox to send the selected date back to and the strField will be used to set the current date on the calendar.<BR><BR>7. Next we will create the calendar.aspx page. Place a calendar control onto the page. In the &#060;head&#062; tag type the following:<BR><BR>&#060;asp:label id="lblMsg" runat="server"&#062;&#060;/asp:label&#062;<BR><BR>8. In the code behind add the following if page is not posted back:<BR><BR>Protected Sub Page_Load(ByVal sender as Object, ByVal e as System.EventArgs) Handles Me.Load<BR><BR>If not page.ispostback then<BR>Dim startDate as string = Request.Querystring("startDate")<BR>Calendar1.toda ysDate = startdate<BR>End If<BR><BR>End Sub<BR><BR>This sets the current date to the date in the textbox from the gridview.<BR><BR>9. Now we will create a selectionChanged method for the calendar.<BR><BR>Protected Sub Calendar1_SelectionChanged(ByVal sender as Object, ByVal e as System.EventArgs) Handles Calendar1.SelectionChanged<BR><BR>Dim StrAction as String = "&#060;script language=""javascript""&#062;"<BR>strAction &= "window.opener." & _<BR>HttpContext.Current.Request.QueryString("form name") & ".value= &#039;" & _<BR>calendar1.SelectedDate & "&#039;; window.close();"<BR>strAction &= "&#060;/script" & "&#062;"<BR><BR>lblMsg.Text = strAction<BR>End Sub<BR><BR>Do not deveate from this code until you know how it works.<BR><BR>10. And thats it. Run it and select a date. The calendar window will close after date selection and the date will populate back into the textbox on the gridview page.<BR>