<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Scott Pearson</title>
        <link>http://geekswithblogs.net/scottapearson/Default.aspx</link>
        <description> Oracle Database Developer</description>
        <language>en-US</language>
        <copyright>Scott A. Pearson</copyright>
        <managingEditor>scottapearson@hotmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Scott Pearson</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/scottapearson/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>A solution to the EmptyDataTemplate insert problem</title>
            <link>http://geekswithblogs.net/scottapearson/archive/2008/08/05/a-solution-to-the-emptydatatemplate-problem.aspx</link>
            <description>&lt;br /&gt;
&lt;div class="postTitle"&gt; 		&lt;a href="../../../../scottapearson/articles/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" title="Title of this entry." id="viewpost_ascx_TitleUrl"&gt;A solution to the EmptyDataTemplate problem: how to insert via GridView when table is empty. This is Oracle-based and does not use a SqlDataSource.&lt;/a&gt; 	&lt;/div&gt;
&lt;p&gt;If you have worked with the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; feature for any length of time, then you probably have had to address the "EmptyDataTemplate" situation, where there are no records in the table from which you are pulling. &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Here is a sample screen shot of the typical solution when the table is empty. This solution will work, although it is not too elegant. Also, it does not provide consistency to the user, who normally would be working with a &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;, assuming a populated table.&lt;/p&gt;
&lt;br /&gt;
&lt;table cellspacing="0" border="1" rules="all" id="GridView1__ctl1_DetailsView1" style="height: 50px; width: 204px; border-collapse: collapse;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;TYPE&lt;/td&gt;
            &lt;td&gt;                                                 &lt;input type="text" name="GridView1:_ctl1:DetailsView1:txtNewInsertType" maxlength="1" id="GridView1__ctl1_DetailsView1_txtNewInsertType" /&gt;                                 &lt;span controltovalidate="GridView1__ctl1_DetailsView1_txtNewInsertType" errormessage="You must enter TYPE." display="Dynamic" id="GridView1__ctl1_DetailsView1_RequiredFieldValidator1" evaluationfunction="RequiredFieldValidatorEvaluateIsValid" initialvalue="" style="display: none;"&gt;*&lt;/span&gt;                             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;D_OR_W&lt;/td&gt;
            &lt;td&gt;                                                 &lt;select name="GridView1:_ctl1:DetailsView1:ddlNewInsertDorW" id="GridView1__ctl1_DetailsView1_ddlNewInsertDorW" style="width: 70px;"&gt;  						&lt;/select&gt;                             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;DOW&lt;/td&gt;
            &lt;td&gt;                                                 &lt;select name="GridView1:_ctl1:DetailsView1:ddlNewInsertDOW" id="GridView1__ctl1_DetailsView1_ddlNewInsertDOW"&gt;  						&lt;/select&gt;                             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;LOCKED&lt;/td&gt;
            &lt;td&gt;                                                 &lt;select name="GridView1:_ctl1:DetailsView1:ddlNewInsertLocked" id="GridView1__ctl1_DetailsView1_ddlNewInsertLocked" style="width: 70px;"&gt;  						&lt;/select&gt;                             &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td colspan="2"&gt;&lt;a href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&amp;quot;GridView1:_ctl1:DetailsView1:_ctl1&amp;quot;, &amp;quot;&amp;quot;, true, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, false, true))"&gt;Insert&lt;/a&gt; &lt;a href="javascript:__doPostBack('GridView1$_ctl1$DetailsView1','Cancel$-1')"&gt;Cancel&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
   &lt;br /&gt;
Here is a screen shot of the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; that is based off of a table that has no records.  This &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; was "tricked" into thinking that it had one record in the underlying table.  The edit row has been disabled (i.e. read only) in the code behind.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellspacing="0" border="1" rules="all" id="GridView3" style="border-collapse: collapse;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th scope="col" style="width: 30px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Type')"&gt;Type&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col" style="width: 70px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$D_or_W')"&gt;Daily Or Weekly&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$DOW')"&gt;Day Of Week&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col" style="width: 35px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Locked')"&gt;Locked?&lt;/a&gt;&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr style="background-color: White;"&gt;
            &lt;td&gt; 								&lt;input type="submit" name="GridView3$ctl02$lbEditPCL" value="Update" id="GridView3_ctl02_lbEditPCL" disabled="disabled" /&gt;                     							&lt;/td&gt;
            &lt;td&gt; 								&lt;input type="submit" name="GridView3$ctl02$lbDeletePCL" value="Delete" id="GridView3_ctl02_lbDeletePCL" disabled="disabled" /&gt;                     							&lt;/td&gt;
            &lt;td style="white-space: nowrap;"&gt; 								&lt;input type="text" name="GridView3$ctl02$txtEditTYPE" readonly="readonly" id="GridView3_ctl02_txtEditTYPE" disabled="disabled" style="width: 40px;" /&gt; 							&lt;/td&gt;
            &lt;td style="width: 50px; white-space: nowrap;"&gt; 								&lt;select name="GridView3$ctl02$ddlEditDorW" id="GridView3_ctl02_ddlEditDorW" disabled="disabled" style="width: 70px;"&gt;
            &lt;option selected="selected" value="D"&gt;D&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl02$ddlEditDOW" id="GridView3_ctl02_ddlEditDOW" disabled="disabled"&gt;
            &lt;option selected="selected" value=""&gt;&lt;/option&gt;
            &lt;option value="MONDAY"&gt;MONDAY&lt;/option&gt;
            &lt;option value="TUESDAY"&gt;TUESDAY&lt;/option&gt;
            &lt;option value="WEDNESDAY"&gt;WEDNESDAY&lt;/option&gt;
            &lt;option value="THURSDAY"&gt;THURSDAY&lt;/option&gt;
            &lt;option value="FRIDAY"&gt;FRIDAY&lt;/option&gt;
            &lt;option value="SATURDAY"&gt;SATURDAY&lt;/option&gt;
            &lt;option value="SUNDAY"&gt;SUNDAY&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl02$ddlEditLocked" id="GridView3_ctl02_ddlEditLocked" disabled="disabled" style="width: 60px;"&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option selected="selected" value="Y"&gt;Y&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr align="left" style="border-style: double; background-color: Aquamarine;"&gt;
            &lt;td&gt; 								&lt;input type="submit" name="GridView3$ctl03$lbInsertPCL" value="Insert" id="GridView3_ctl03_lbInsertPCL" /&gt; 							&lt;/td&gt;
            &lt;td&gt; &lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertTYPE" id="GridView3_ctl03_ddlInsertTYPE"&gt;
            &lt;option value="A"&gt;A&lt;/option&gt;
            &lt;option value="B"&gt;B&lt;/option&gt;
            &lt;option value="C"&gt;C&lt;/option&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="E"&gt;E&lt;/option&gt;
            &lt;option value="F"&gt;F&lt;/option&gt;
            &lt;option value="G"&gt;G&lt;/option&gt;
            &lt;option value="H"&gt;H&lt;/option&gt;
            &lt;option value="I"&gt;I&lt;/option&gt;
            &lt;option value="J"&gt;J&lt;/option&gt;
            &lt;option value="K"&gt;K&lt;/option&gt;
            &lt;option value="L"&gt;L&lt;/option&gt;
            &lt;option value="M"&gt;M&lt;/option&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="O"&gt;O&lt;/option&gt;
            &lt;option value="P"&gt;P&lt;/option&gt;
            &lt;option value="Q"&gt;Q&lt;/option&gt;
            &lt;option value="R"&gt;R&lt;/option&gt;
            &lt;option value="S"&gt;S&lt;/option&gt;
            &lt;option value="T"&gt;T&lt;/option&gt;
            &lt;option value="U"&gt;U&lt;/option&gt;
            &lt;option value="V"&gt;V&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;option value="X"&gt;X&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;option value="Z"&gt;Z&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertDorW" id="GridView3_ctl03_ddlInsertDorW" style="width: 70px;"&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertDOW" id="GridView3_ctl03_ddlInsertDOW"&gt;
            &lt;option value=""&gt;&lt;/option&gt;
            &lt;option value="MONDAY"&gt;MONDAY&lt;/option&gt;
            &lt;option value="TUESDAY"&gt;TUESDAY&lt;/option&gt;
            &lt;option value="WEDNESDAY"&gt;WEDNESDAY&lt;/option&gt;
            &lt;option value="THURSDAY"&gt;THURSDAY&lt;/option&gt;
            &lt;option value="FRIDAY"&gt;FRIDAY&lt;/option&gt;
            &lt;option value="SATURDAY"&gt;SATURDAY&lt;/option&gt;
            &lt;option value="SUNDAY"&gt;SUNDAY&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertLocked" id="GridView3_ctl03_ddlInsertLocked" style="width: 60px;"&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
   				&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setting the Visible attribute will remove the edit row enirely from the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;:&lt;br /&gt;
                GridView3.Rows[0].Visible = false;&lt;br /&gt;
&lt;br /&gt;
&lt;table cellspacing="0" border="1" rules="all" id="GridView3" style="border-collapse: collapse;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th scope="col" style="width: 30px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Type')"&gt;Type&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col" style="width: 70px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$D_or_W')"&gt;Daily Or Weekly&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$DOW')"&gt;Day Of Week&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col" style="width: 35px;"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Locked')"&gt;Locked?&lt;/a&gt;&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr align="left" style="border-style: double; background-color: Aquamarine;"&gt;
            &lt;td&gt; 								&lt;input type="submit" name="GridView3$ctl03$lbInsertPCL" value="Insert" id="GridView3_ctl03_lbInsertPCL" /&gt; 							&lt;/td&gt;
            &lt;td&gt; &lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertTYPE" id="GridView3_ctl03_ddlInsertTYPE"&gt;
            &lt;option value="A"&gt;A&lt;/option&gt;
            &lt;option value="B"&gt;B&lt;/option&gt;
            &lt;option value="C"&gt;C&lt;/option&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="E"&gt;E&lt;/option&gt;
            &lt;option value="F"&gt;F&lt;/option&gt;
            &lt;option value="G"&gt;G&lt;/option&gt;
            &lt;option value="H"&gt;H&lt;/option&gt;
            &lt;option value="I"&gt;I&lt;/option&gt;
            &lt;option value="J"&gt;J&lt;/option&gt;
            &lt;option value="K"&gt;K&lt;/option&gt;
            &lt;option value="L"&gt;L&lt;/option&gt;
            &lt;option value="M"&gt;M&lt;/option&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="O"&gt;O&lt;/option&gt;
            &lt;option value="P"&gt;P&lt;/option&gt;
            &lt;option value="Q"&gt;Q&lt;/option&gt;
            &lt;option value="R"&gt;R&lt;/option&gt;
            &lt;option value="S"&gt;S&lt;/option&gt;
            &lt;option value="T"&gt;T&lt;/option&gt;
            &lt;option value="U"&gt;U&lt;/option&gt;
            &lt;option value="V"&gt;V&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;option value="X"&gt;X&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;option value="Z"&gt;Z&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertDorW" id="GridView3_ctl03_ddlInsertDorW" style="width: 70px;"&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertDOW" id="GridView3_ctl03_ddlInsertDOW"&gt;
            &lt;option value=""&gt;&lt;/option&gt;
            &lt;option value="MONDAY"&gt;MONDAY&lt;/option&gt;
            &lt;option value="TUESDAY"&gt;TUESDAY&lt;/option&gt;
            &lt;option value="WEDNESDAY"&gt;WEDNESDAY&lt;/option&gt;
            &lt;option value="THURSDAY"&gt;THURSDAY&lt;/option&gt;
            &lt;option value="FRIDAY"&gt;FRIDAY&lt;/option&gt;
            &lt;option value="SATURDAY"&gt;SATURDAY&lt;/option&gt;
            &lt;option value="SUNDAY"&gt;SUNDAY&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select name="GridView3$ctl03$ddlInsertLocked" id="GridView3_ctl03_ddlInsertLocked" style="width: 60px;"&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;/select&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a screen shot of the same &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;, but with a single record just added by the user.&lt;br /&gt;
&lt;br /&gt;
&lt;table cellspacing="0" border="1" rules="all" style="border-collapse: collapse;" id="GridView3"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th scope="col"&gt; &lt;/th&gt;
            &lt;th style="width: 30px;" scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Type')"&gt;Type&lt;/a&gt;&lt;/th&gt;
            &lt;th style="width: 70px;" scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$D_or_W')"&gt;Daily Or Weekly&lt;/a&gt;&lt;/th&gt;
            &lt;th scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$DOW')"&gt;Day Of Week&lt;/a&gt;&lt;/th&gt;
            &lt;th style="width: 35px;" scope="col"&gt;&lt;a href="javascript:__doPostBack('GridView3','Sort$Locked')"&gt;Locked?&lt;/a&gt;&lt;/th&gt;
        &lt;/tr&gt;
        &lt;tr style="background-color: White;"&gt;
            &lt;td&gt; 								&lt;input type="submit" id="GridView3_ctl02_lbEditPCL" value="Update" name="GridView3$ctl02$lbEditPCL" /&gt;                     							&lt;/td&gt;
            &lt;td&gt; 								&lt;input type="submit" id="GridView3_ctl02_lbDeletePCL" onclick="return confirm('Are you sure?');" value="Delete" name="GridView3$ctl02$lbDeletePCL" /&gt;                     							&lt;/td&gt;
            &lt;td style="white-space: nowrap;"&gt; 								&lt;input type="text" style="width: 40px;" id="GridView3_ctl02_txtEditTYPE" readonly="readonly" value="X" name="GridView3$ctl02$txtEditTYPE" /&gt; 							&lt;/td&gt;
            &lt;td style="width: 50px; white-space: nowrap;"&gt; 								&lt;select style="width: 70px;" id="GridView3_ctl02_ddlEditDorW" name="GridView3$ctl02$ddlEditDorW"&gt;
            &lt;option value="D" selected="selected"&gt;D&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select id="GridView3_ctl02_ddlEditDOW" name="GridView3$ctl02$ddlEditDOW"&gt;
            &lt;option value=""&gt;&lt;/option&gt;
            &lt;option value="MONDAY"&gt;MONDAY&lt;/option&gt;
            &lt;option value="TUESDAY"&gt;TUESDAY&lt;/option&gt;
            &lt;option value="WEDNESDAY" selected="selected"&gt;WEDNESDAY&lt;/option&gt;
            &lt;option value="THURSDAY"&gt;THURSDAY&lt;/option&gt;
            &lt;option value="FRIDAY"&gt;FRIDAY&lt;/option&gt;
            &lt;option value="SATURDAY"&gt;SATURDAY&lt;/option&gt;
            &lt;option value="SUNDAY"&gt;SUNDAY&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select style="width: 60px;" id="GridView3_ctl02_ddlEditLocked" name="GridView3$ctl02$ddlEditLocked"&gt;
            &lt;option value="N" selected="selected"&gt;N&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr align="left" style="border-style: double; background-color: Aquamarine;"&gt;
            &lt;td&gt; 								&lt;input type="submit" id="GridView3_ctl03_lbInsertPCL" value="Insert" name="GridView3$ctl03$lbInsertPCL" /&gt; 							&lt;/td&gt;
            &lt;td&gt; &lt;/td&gt;
            &lt;td&gt; 								&lt;select id="GridView3_ctl03_ddlInsertTYPE" name="GridView3$ctl03$ddlInsertTYPE"&gt;
            &lt;option value="A"&gt;A&lt;/option&gt;
            &lt;option value="B"&gt;B&lt;/option&gt;
            &lt;option value="C"&gt;C&lt;/option&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="E"&gt;E&lt;/option&gt;
            &lt;option value="F"&gt;F&lt;/option&gt;
            &lt;option value="G"&gt;G&lt;/option&gt;
            &lt;option value="H"&gt;H&lt;/option&gt;
            &lt;option value="I"&gt;I&lt;/option&gt;
            &lt;option value="J"&gt;J&lt;/option&gt;
            &lt;option value="K"&gt;K&lt;/option&gt;
            &lt;option value="L"&gt;L&lt;/option&gt;
            &lt;option value="M"&gt;M&lt;/option&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="O"&gt;O&lt;/option&gt;
            &lt;option value="P"&gt;P&lt;/option&gt;
            &lt;option value="Q"&gt;Q&lt;/option&gt;
            &lt;option value="R"&gt;R&lt;/option&gt;
            &lt;option value="S"&gt;S&lt;/option&gt;
            &lt;option value="T"&gt;T&lt;/option&gt;
            &lt;option value="U"&gt;U&lt;/option&gt;
            &lt;option value="V"&gt;V&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;option value="X"&gt;X&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;option value="Z"&gt;Z&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select style="width: 70px;" id="GridView3_ctl03_ddlInsertDorW" name="GridView3$ctl03$ddlInsertDorW"&gt;
            &lt;option value="D"&gt;D&lt;/option&gt;
            &lt;option value="W"&gt;W&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select id="GridView3_ctl03_ddlInsertDOW" name="GridView3$ctl03$ddlInsertDOW"&gt;
            &lt;option value=""&gt;&lt;/option&gt;
            &lt;option value="MONDAY"&gt;MONDAY&lt;/option&gt;
            &lt;option value="TUESDAY"&gt;TUESDAY&lt;/option&gt;
            &lt;option value="WEDNESDAY"&gt;WEDNESDAY&lt;/option&gt;
            &lt;option value="THURSDAY"&gt;THURSDAY&lt;/option&gt;
            &lt;option value="FRIDAY"&gt;FRIDAY&lt;/option&gt;
            &lt;option value="SATURDAY"&gt;SATURDAY&lt;/option&gt;
            &lt;option value="SUNDAY"&gt;SUNDAY&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
            &lt;td&gt; 								&lt;select style="width: 60px;" id="GridView3_ctl03_ddlInsertLocked" name="GridView3$ctl03$ddlInsertLocked"&gt;
            &lt;option value="N"&gt;N&lt;/option&gt;
            &lt;option value="Y"&gt;Y&lt;/option&gt;
            &lt;/select&gt; 							&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
   				&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;HOW TO DO IT:&lt;/span&gt;&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Assumptions:&lt;/strong&gt; &lt;br /&gt;
&lt;/p&gt;
&lt;p style="color: rgb(0, 0, 0); font-weight: bold;"&gt;1) Your web page already has the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;Insert&lt;/a&gt; functionality properly working within your &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; when the table is populated.&lt;/p&gt;
&lt;p style="color: rgb(0, 0, 0); font-weight: bold;"&gt;2) You are NOT using the Configure Data Source option.  That is, you have written your own code to pull data from the table.&lt;/p&gt;
&lt;p style="color: rgb(0, 0, 0); font-weight: bold;"&gt;3) You do NOT have an &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;EmptyDataTemplate&lt;/a&gt; defined in the .aspx file.  If it is there, remove it.&lt;br /&gt;
&lt;/p&gt;
&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt; 4) This code uses an Oracle database, not SQL Server/other.  The Oracle psuedo-table DUAL is used to "fake out" the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;.   (If you are using SQL Server, remove the FROM DUAL clause.  Check out the "DUAL table" entry at this site: http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm).&lt;/span&gt;&lt;br /&gt;
&lt;p&gt;&lt;font color="#ff0000" style=""&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000" style=""&gt;&lt;strong&gt;HTML - This &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; lives in one of four tabs in a MultiView.  The MultiView is not necessary to implement this solution.&lt;br /&gt;
&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&amp;lt;asp:GridView ID="GridView3" AutoGenerateColumns="False"&lt;br /&gt;
    DataKeyNames="TYPE" runat="server" AllowPaging="True" AllowSorting="True" &lt;br /&gt;
    ShowFooter="True" OnLoad="Page_Load" OnPageIndexChanging="GridView3_Page"&lt;br /&gt;
    OnRowEditing="GridView3_Edit" OnRowUpdating="GridView3_Update"&lt;br /&gt;
    OnRowDataBound="GridView3_RowDataBound" OnSorting="GridView3_Sort" &lt;br /&gt;
    OnRowDeleting="GridView3_Delete" OnDataBinding="GridView3_DataBinding" &lt;br /&gt;
    OnRowCommand="GridView3_RowCommand" PageSize="20" &amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;Columns&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;asp:TemplateField&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:Button ID="lbEditPCL" runat="server" CommandName="Update" Text="Update" /&amp;gt;                   &lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
            &amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:Button ID="lbInsertPCL" runat="server" CommandName="Insert" Text="Insert" /&amp;gt;&lt;br /&gt;
            &amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;asp:TemplateField&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:Button ID="lbDeletePCL" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure?')"/&amp;gt;                   &lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;asp:TemplateField HeaderText="Type" SortExpression="Type"&amp;gt;&lt;br /&gt;
            &amp;lt;ItemStyle Wrap="False" /&amp;gt;&lt;br /&gt;
            &amp;lt;HeaderStyle Width="30px" /&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:TextBox ID="txtEditTYPE"  ReadOnly="true" Text='&amp;lt;%# Bind("TYPE") %&amp;gt;' Width=40 runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
            &amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlInsertTYPE" runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;A&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;B&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;C&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;D&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;E&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;F&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;G&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;H&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;I&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;J&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;K&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;L&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;M&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;N&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;O&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;P&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;Q&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;R&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;S&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;T&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;U&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;V&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;W&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;X&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;Y&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;Z&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;asp:TemplateField HeaderText="Daily Or Weekly" SortExpression="D_or_W"&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlEditDorW" Text='&amp;lt;%# Bind("D_OR_W") %&amp;gt;' Width=70 runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;D&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;W&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
            &amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlInsertDorW" Width=70 runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;D&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;W&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;ItemStyle Width="50px" Wrap="False" /&amp;gt;&lt;br /&gt;
            &amp;lt;HeaderStyle Width="70px" Wrap="True" /&amp;gt;&lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;asp:TemplateField HeaderText="DOW" SortExpression="DOW"&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlEditDOW" Text='&amp;lt;%# Bind("DOW") %&amp;gt;' runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;MONDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;TUESDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;WEDNESDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;THURSDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;FRIDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;SATURDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;SUNDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
            &amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlInsertDOW" runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;MONDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;TUESDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;WEDNESDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;THURSDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;FRIDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;SATURDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;SUNDAY&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;asp:TemplateField HeaderText="Locked?" SortExpression="Locked"&amp;gt;&lt;br /&gt;
            &amp;lt;HeaderStyle Width="35px" Wrap="True" /&amp;gt;&lt;br /&gt;
            &amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlEditLocked" Text='&amp;lt;%# Bind("LOCKED") %&amp;gt;'  Width=60 runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;N&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;Y&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/ItemTemplate&amp;gt;               &lt;br /&gt;
            &amp;lt;FooterTemplate&amp;gt;&lt;br /&gt;
                &amp;lt;asp:DropDownList ID="ddlInsertLocked"  Width=60 runat="server"&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;N&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                    &amp;lt;asp:ListItem&amp;gt;Y&amp;lt;/asp:ListItem&amp;gt;&lt;br /&gt;
                &amp;lt;/asp:DropDownList&amp;gt;&lt;br /&gt;
            &amp;lt;/FooterTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/asp:TemplateField&amp;gt;&lt;br /&gt;
                                                                                           &lt;br /&gt;
    &amp;lt;/Columns&amp;gt;&lt;br /&gt;
      &lt;br /&gt;
    &amp;lt;EditRowStyle BackColor="White" /&amp;gt;&lt;br /&gt;
    &amp;lt;AlternatingRowStyle BackColor="LightCyan" /&amp;gt;&lt;br /&gt;
    &amp;lt;FooterStyle BackColor="Aquamarine" BorderStyle="Double" HorizontalAlign="Left" /&amp;gt;&lt;br /&gt;
    &amp;lt;EmptyDataRowStyle BackColor="White" /&amp;gt;&lt;br /&gt;
    &amp;lt;RowStyle BackColor="White" /&amp;gt;&lt;br /&gt;
&amp;lt;/asp:GridView&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;asp:Label ID="hlbl_UserID3" runat="server" Text="hlbl_UserID3" Visible="False"&amp;gt;&amp;lt;/asp:Label&amp;gt;&amp;lt;asp:Label ID="hlbl_UserName3" runat="server" Text="hlbl_UserName3" Visible="False"&amp;gt;&amp;lt;/asp:Label&amp;gt;&amp;lt;asp:Label ID="hlbl_SortParms_tab3" runat="server" Text="hlbl_SortParms_tab3" Visible="False"&amp;gt;&amp;lt;/asp:Label&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/asp:View&amp;gt;&lt;br /&gt;
&lt;p&gt;&lt;font color="#ff0000" style=""&gt;&lt;strong&gt;CODE BEHIND&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
    public Boolean LoadGridView3()&lt;br /&gt;
&lt;p&gt;    {&lt;br /&gt;
        lblError.Text = "";&lt;br /&gt;
        string SqlString;&lt;br /&gt;
&lt;br /&gt;
        &lt;font color="#ff0000" style=""&gt;&lt;strong&gt; // STEP 1 --- Get a count of the # of records in the table.&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
        OracleConnection ora_con = new OracleConnection(myConString);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            ora_con.Open();&lt;br /&gt;
            string sCountString = "SELECT COUNT(*) FROM process_control_lock";&lt;br /&gt;
&lt;br /&gt;
            OracleCommand cmd = new OracleCommand(sCountString);&lt;br /&gt;
            cmd.Connection = ora_con;&lt;br /&gt;
            cmd.CommandType = CommandType.Text;&lt;br /&gt;
            object oCount = cmd.ExecuteScalar();&lt;br /&gt;
            if (oCount == null)&lt;br /&gt;
            {&lt;br /&gt;
                nPCLRecCount = 0;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                nPCLRecCount = int.Parse(oCount.ToString());&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000" style=""&gt;&lt;strong&gt;        // STEP 2 -- If there are no records in the table, then use this SELECT to create a dummy-type record&lt;br /&gt;
        // in the data set so the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; will display.  The call to NewRow() below is needed, also.&lt;br /&gt;
        // NOTES: If you are using a DropDownList, then you must provide a default value, as you can see below.&lt;br /&gt;
        // If you are using SQL Server, then try removing the FROM DUAL clause.&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
       &lt;span style="color: rgb(255, 0, 0);"&gt; if (nPCLRecCount == 0)&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;         {&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;             SqlString = "SELECT DISTINCT NULL AS TYPE, 'D' AS D_OR_W, " +&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;                                         "NULL AS DOW, 'Y' AS LOCKED " +&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;                                         "FROM DUAL";&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;         }&lt;/span&gt;&lt;br /&gt;
        else  // There are one or more records in the table, so pull all of them.&lt;br /&gt;
        {&lt;br /&gt;
            SqlString = "SELECT * FROM process_control_lock " + hlbl_SortParms_tab3.Text;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            OracleDataAdapter ora_da = new OracleDataAdapter(SqlString, ora_con);&lt;br /&gt;
            DataSet ds = new DataSet();&lt;br /&gt;
            int nFillCount = ora_da.Fill(ds);&lt;br /&gt;
            ora_da.Dispose();&lt;br /&gt;
            ora_con.Close();&lt;br /&gt;
            ora_con.Dispose();&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;font color="#ff0000" style=""&gt;            // STEP 3 -- If there are no records in the table, then fake out the&lt;br /&gt;
            // &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt; by creating a new row on-the-fly in the data source.&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;
            if (nPCLRecCount == 0)&lt;br /&gt;
            {&lt;br /&gt;
               &lt;span style="color: rgb(255, 0, 0);"&gt; DataRow drNewRow = ds.Tables[0].NewRow();&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;                 GridView3.DataSource = drNewRow.Table.DefaultView;&lt;/span&gt;&lt;br style="color: rgb(255, 0, 0);" /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;                 GridView3.DataBind();&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;                &lt;strong&gt;&lt;font color="#ff0000" style=""&gt;// STEP 4 -- Either REMOVE or DISABLE the edit row of the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;.&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;
                &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;// This will remove the edit row enirely from the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;GridView&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
                GridView3.Rows[0].Visible = false;&lt;br /&gt;
&lt;br /&gt;
               &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;// Or, keep the edit row but disable it.&lt;/span&gt;&lt;br /&gt;
                Button lbEditBtn = (Button)GridView3.Rows[0].FindControl("lbEditPCL");&lt;br /&gt;
                lbEditBtn.Enabled = false;&lt;br /&gt;
                Button lbDeleteBtn = (Button)GridView3.Rows[0].FindControl("lbDeletePCL");&lt;br /&gt;
                lbDeleteBtn.Enabled = false;&lt;br /&gt;
                TextBox tbEdit_Type = (TextBox)GridView3.Rows[0].FindControl("txtEditTYPE");&lt;br /&gt;
                tbEdit_Type.Enabled = false;&lt;br /&gt;
                DropDownList ddlEdit_DorW = (DropDownList)GridView3.Rows[0].FindControl("ddlEditDorW");&lt;br /&gt;
                ddlEdit_DorW.Enabled = false;&lt;br /&gt;
                DropDownList ddlEdit_DOW = (DropDownList)GridView3.Rows[0].FindControl("ddlEditDOW");&lt;br /&gt;
                ddlEdit_DOW.Enabled = false;&lt;br /&gt;
                DropDownList ddlEdit_Locked = (DropDownList)GridView3.Rows[0].FindControl("ddlEditLocked");&lt;br /&gt;
                ddlEdit_Locked.Enabled = false;&lt;br /&gt;
&lt;br /&gt;
                // Put the selected table name into the &lt;a title="" href="http://geekswithblogs.net/scottapearson/archive/2008/07/15/emptydatatemplate-problem-solved---insert-via-gridview-when-table.aspx" rel=""&gt;Insert&lt;/a&gt; table name.&lt;br /&gt;
                //TextBox tbInsert_Table = ((TextBox)GridView3.FooterRow.FindControl("txtInsertINDEXTABLE"));&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                GridView3.DataSource = ds.Tables[0].DefaultView;&lt;br /&gt;
                GridView3.DataBind();&lt;br /&gt;
            }&lt;br /&gt;
       }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            errtext = "Unable to load records from PROCESS_CONTROL_LOCK.  Please Contact support. " + ex.Message;&lt;br /&gt;
            lblError.Text = errtext;&lt;br /&gt;
            ora_con.Close();&lt;br /&gt;
            ora_con.Dispose();&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;font color="#ff0000" style=""&gt;&lt;strong&gt;Step 5 -- Run the code&lt;/strong&gt;&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124242"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=124242" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/scottapearson/aggbug/124242.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott A. Pearson</dc:creator>
            <guid>http://geekswithblogs.net/scottapearson/archive/2008/08/05/a-solution-to-the-emptydatatemplate-problem.aspx</guid>
            <pubDate>Tue, 05 Aug 2008 12:29:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/scottapearson/comments/124242.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/scottapearson/archive/2008/08/05/a-solution-to-the-emptydatatemplate-problem.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/scottapearson/comments/commentRss/124242.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>