Click here to Skip to main content
15,886,067 members
Articles / Web Development / ASP.NET

GridView-FormView (Master/Detail) Control

Rate me:
Please Sign up or sign in to vote.
3.30/5 (23 votes)
24 Feb 2009CPOL4 min read 248.2K   9.7K   76  
Full-featured GridView-FormView with View/Insert/Update features
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="OrdersGridFormView.ascx.cs" Inherits="CIF.Modules.Northwind.OrdersGridFormView" %>

<asp:Panel ID="pnlGridView" runat="server" Width="100%">
    <table>
        <tr>
            <td>
                <asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="False" AutoGenerateSelectButton="True" AutoGenerateEditButton="True" 
                    CellPadding="2" CellSpacing="2" EmptyDataText="There are no Orders records." AllowPaging="True" PageSize="10" ShowFooter="False"
                    OnRowDataBound="gvOrders_RowDataBound" OnSelectedIndexChanged="gvOrders_SelectedIndexChanged" AllowSorting="True"
                    OnPageIndexChanging="gvOrders_PageIndexChanging" OnRowCancelingEdit="gvOrders_RowCancelingEdit" 
                    OnRowDeleting="gvOrders_RowDeleting" OnRowEditing="gvOrders_RowEditing" OnRowUpdating="gvOrders_RowUpdating"
                    OnSorting="gvOrders_Sorting" AutoGenerateDeleteButton="true" OnRowCommand="gvOrders_RowCommand" CssClass="Normal" >
                    <Columns>                                 
                             
                        <asp:TemplateField HeaderText="OrderID" Visible="False">
                            <ItemTemplate>
                                <asp:Label ID="lblOrderID" runat="server" Visible="False" Text='<%# Bind("OrderID") %>'
                                    CssClass="Normal"></asp:Label>
                            </ItemTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="CustomerID" SortExpression="CustomerID">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' MaxLength="10" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' MaxLength="10" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="EmployeeID" SortExpression="EmployeeID">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' MaxLength="4" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditEmployeeID" runat="server" ErrorMessage="EmployeeID Must Be a Number" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditEmployeeID" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>       
				               	</EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' MaxLength="4" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertEmployeeID" runat="server" ErrorMessage="EmployeeID Must Be a Number" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertEmployeeID" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
				               	</FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="OrderDate" SortExpression="OrderDate">
                            <ItemStyle />
                            <ItemTemplate>  
				                <asp:Label ID="lblOrderDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"OrderDate")) %>' CssClass="Normal"></asp:Label>				                
				                </ItemTemplate>
                            <EditItemTemplate>  
				                <asp:TextBox ID="txtEditOrderDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"OrderDate")) %>' MaxLength="10" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditOrderDate" runat="server" ErrorMessage="OrderDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditOrderDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                            </EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertOrderDate" runat="server" Text='<%# Bind("OrderDate") %>' MaxLength="16" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertOrderDate" runat="server" ErrorMessage="OrderDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertOrderDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator> 
                            </FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="RequiredDate" SortExpression="RequiredDate">
                            <ItemStyle />
                            <ItemTemplate>  
				                <asp:Label ID="lblRequiredDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"RequiredDate")) %>' CssClass="Normal"></asp:Label>				                
				                </ItemTemplate>
                            <EditItemTemplate>  
				                <asp:TextBox ID="txtEditRequiredDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"RequiredDate")) %>' MaxLength="10" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditRequiredDate" runat="server" ErrorMessage="RequiredDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditRequiredDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                            </EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertRequiredDate" runat="server" Text='<%# Bind("RequiredDate") %>' MaxLength="16" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertRequiredDate" runat="server" ErrorMessage="RequiredDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertRequiredDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator> 
                            </FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShippedDate" SortExpression="ShippedDate">
                            <ItemStyle />
                            <ItemTemplate>  
				                <asp:Label ID="lblShippedDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"ShippedDate")) %>' CssClass="Normal"></asp:Label>				                
				                </ItemTemplate>
                            <EditItemTemplate>  
				                <asp:TextBox ID="txtEditShippedDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"ShippedDate")) %>' MaxLength="10" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditShippedDate" runat="server" ErrorMessage="ShippedDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditShippedDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                            </EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShippedDate" runat="server" Text='<%# Bind("ShippedDate") %>' MaxLength="16" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertShippedDate" runat="server" ErrorMessage="ShippedDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertShippedDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator> 
                            </FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipVia" SortExpression="ShipVia">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipVia" runat="server" Text='<%# Bind("ShipVia") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipVia" runat="server" Text='<%# Bind("ShipVia") %>' MaxLength="4" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditShipVia" runat="server" ErrorMessage="ShipVia Must Be a Number" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditShipVia" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>       
				               	</EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipVia" runat="server" Text='<%# Bind("ShipVia") %>' MaxLength="4" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertShipVia" runat="server" ErrorMessage="ShipVia Must Be a Number" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertShipVia" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
				               	</FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="Freight" SortExpression="Freight">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblFreight" runat="server" Text='<%# Bind("Freight") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditFreight" runat="server" Text='<%# Bind("Freight") %>' MaxLength="21" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvEditFreight" runat="server" ErrorMessage="Freight Must Be a Currency value" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtEditFreight" Type="Currency" MinimumValue="0.00" MaximumValue="999999.99"></asp:RangeValidator>
					            </EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertFreight" runat="server" Text='<%# Bind("Freight") %>' MaxLength="21" CssClass="NormalTextBox" /><asp:RangeValidator ID="rvInsertFreight" runat="server" ErrorMessage="Freight Must Be a Currency value" CssClass="NormalRed"
				                    Display="Dynamic" ControlToValidate="txtInsertFreight" Type="Currency" MinimumValue="0.00" MaximumValue="999999.99"></asp:RangeValidator>
					            </FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipName" SortExpression="ShipName">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipName" runat="server" Text='<%# Bind("ShipName") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipName" runat="server" Text='<%# Bind("ShipName") %>' MaxLength="80" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipName" runat="server" Text='<%# Bind("ShipName") %>' MaxLength="80" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipAddress" SortExpression="ShipAddress">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' MaxLength="120" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' MaxLength="120" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipCity" SortExpression="ShipCity">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipCity" runat="server" Text='<%# Bind("ShipCity") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipCity" runat="server" Text='<%# Bind("ShipCity") %>' MaxLength="30" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipCity" runat="server" Text='<%# Bind("ShipCity") %>' MaxLength="30" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipRegion" SortExpression="ShipRegion">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' MaxLength="30" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' MaxLength="30" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipPostalCode" SortExpression="ShipPostalCode">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' MaxLength="20" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' MaxLength="20" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                        <asp:TemplateField HeaderText="ShipCountry" SortExpression="ShipCountry">
                            <ItemStyle />
                            <ItemTemplate>
				                <asp:Label ID="lblShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' CssClass="Normal"></asp:Label>
				                </ItemTemplate>
                            <EditItemTemplate>
				                <asp:TextBox ID="txtEditShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' MaxLength="30" CssClass="NormalTextBox" /></EditItemTemplate>                            
                            <FooterTemplate>
				                <asp:TextBox ID="txtInsertShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' MaxLength="30" CssClass="NormalTextBox" /></FooterTemplate>
                        </asp:TemplateField>                        
                    </Columns>
                    <PagerStyle HorizontalAlign="Left"/>
                </asp:GridView>
            </td>
        </tr>
        <tr>
            <td align="left">
                <asp:LinkButton runat="server"  ID="lbtnAddNewOrders" CssClass="CommandButton" Text="Add New Orders" OnClick="lbtnAddNewOrders_Click" />
                <asp:LinkButton runat="server"  ID="lbtnGridInsertOrders" CssClass="CommandButton" Text="Insert" OnClick="lbtnGridInsertOrders_Click" Visible="False"/>&nbsp;<asp:LinkButton runat="server"  ID="lbtnGridCancelOrders" CausesValidation="False" CssClass="CommandButton" Text="Cancel" OnClick="lbtnGridCancelOrders_Click" Visible="False"/>
            </td>
        </tr>
    </table> 
</asp:Panel>

<asp:Panel ID="pnlFormView" runat="server" Width="100%">
    <table>
        <tr>
            <td valign="top">
                <asp:FormView ID="fvOrders" runat="server" AllowPaging="False" DefaultMode="Insert" CellPadding="2" CellSpacing="2"
                    BorderStyle="None" BorderWidth="1px" CaptionAlign="Left" EmptyDataText="There are no Orders records." 
                    OnItemDeleting="fvOrders_ItemDeleting" OnItemInserting="fvOrders_ItemInserting" 
                    OnItemUpdating="fvOrders_ItemUpdating" OnModeChanging="fvOrders_ModeChanging"
                    OnDataBound="fvOrders_DataBound" CssClass="Normal" >                                        
                    <ItemTemplate>
                        <table cellpadding="2" cellspacing="2" border="0" class="Normal"> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblOrderIDLabel" Text="OrderID" CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td>
                                <td>
                                    <asp:Label ID="lblOrderID" Text='<%# Bind("OrderID") %>' CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td> 
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblCustomerIDLabel" Text="CustomerID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblEmployeeIDLabel" Text="EmployeeID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblOrderDateLabel" Text="OrderDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:Label ID="lblOrderDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"OrderDate")) %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblRequiredDateLabel" Text="RequiredDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:Label ID="lblRequiredDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"RequiredDate")) %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShippedDateLabel" Text="ShippedDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:Label ID="lblShippedDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"ShippedDate")) %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipViaLabel" Text="ShipVia" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipVia" runat="server" Text='<%# Bind("ShipVia") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblFreightLabel" Text="Freight" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblFreight" runat="server" Text='<%# Bind("Freight") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipNameLabel" Text="ShipName" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipName" runat="server" Text='<%# Bind("ShipName") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipAddressLabel" Text="ShipAddress" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipCityLabel" Text="ShipCity" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipCity" runat="server" Text='<%# Bind("ShipCity") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipRegionLabel" Text="ShipRegion" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipPostalCodeLabel" Text="ShipPostalCode" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr> 
                            <tr>
                                <td>
                                    <asp:Label ID="lblShipCountryLabel" Text="ShipCountry" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:Label ID="lblShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' CssClass="Normal"></asp:Label>
				                    </td>  
                            </tr>
                        </table>  
                        <asp:Panel ID="pnlEditItemControls" runat="server">
                            <asp:LinkButton runat="server"  ID="lbtnFormEditOrders" CausesValidation="False" CssClass="CommandButton" Text="Edit" OnClick="lbtnFormEditOrders_Click" Visible='<%# AllowFormViewRecordEditing %>' />&nbsp;&nbsp;<asp:LinkButton runat="server"  ID="lbtnFormDeleteOrders" CausesValidation="False" CssClass="CommandButton" Text="Delete" OnClick="lbtnFormDeleteOrders_Click" Visible='<%# AllowFormViewRecordDeleting %>' />&nbsp;&nbsp;<asp:LinkButton runat="server"  ID="lbtnFormNewOrders" CausesValidation="False" CssClass="CommandButton" Text="New" OnClick="lbtnFormNewOrders_Click" Visible='<%# AllowFormViewRecordInserting %>'/>
                        </asp:Panel>
	                </ItemTemplate>
                    <EditItemTemplate>
                        <table cellpadding="2" cellspacing="2" border="0" class="Normal">
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditOrderIDLabel" Text="OrderID" CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td>
                                <td>
                                    <asp:Label ID="lblOrderID" Text='<%# Bind("OrderID") %>' CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditCustomerIDLabel" Text="CustomerID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' MaxLength="10" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditEmployeeIDLabel" Text="EmployeeID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' MaxLength="4" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditEmployeeID" runat="server" ErrorMessage="EmployeeID Must Be a Number" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditEmployeeID" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
					               	</td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditOrderDateLabel" Text="OrderDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:TextBox ID="txtEditOrderDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"OrderDate")) %>' MaxLength="10" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditOrderDate" runat="server" ErrorMessage="OrderDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditOrderDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditRequiredDateLabel" Text="RequiredDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:TextBox ID="txtEditRequiredDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"RequiredDate")) %>' MaxLength="10" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditRequiredDate" runat="server" ErrorMessage="RequiredDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditRequiredDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShippedDateLabel" Text="ShippedDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>  
				                    <asp:TextBox ID="txtEditShippedDate" runat="server" Text='<%# FormatDateTime(DataBinder.Eval(Container.DataItem,"ShippedDate")) %>' MaxLength="10" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditShippedDate" runat="server" ErrorMessage="ShippedDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditShippedDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipViaLabel" Text="ShipVia" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipVia" runat="server" Text='<%# Bind("ShipVia") %>' MaxLength="4" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditShipVia" runat="server" ErrorMessage="ShipVia Must Be a Number" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditShipVia" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
					               	</td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditFreightLabel" Text="Freight" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditFreight" runat="server" Text='<%# Bind("Freight") %>' MaxLength="21" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvEditFreight" runat="server" ErrorMessage="Freight Must Be a Currency value" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtEditFreight" Type="Currency" MinimumValue="0.00" MaximumValue="999999.99"></asp:RangeValidator>
						            </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipNameLabel" Text="ShipName" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipName" runat="server" Text='<%# Bind("ShipName") %>' MaxLength="80" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipAddressLabel" Text="ShipAddress" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' MaxLength="120" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipCityLabel" Text="ShipCity" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipCity" runat="server" Text='<%# Bind("ShipCity") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipRegionLabel" Text="ShipRegion" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipPostalCodeLabel" Text="ShipPostalCode" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' MaxLength="20" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblEditShipCountryLabel" Text="ShipCountry" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtEditShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                        </table>                                    
                        <asp:LinkButton runat="server"  ID="lbtnFormUpdateOrders" CssClass="CommandButton" Text="Update" OnClick="lbtnFormUpdateOrders_Click" />&nbsp;&nbsp;
                        <asp:LinkButton runat="server"  ID="lbtnFormCancelUpdateOrders" CausesValidation="False" CssClass="CommandButton" Text="Cancel" OnClick="lbtnFormCancelUpdateOrders_Click" />
	                </EditItemTemplate>  
                    <InsertItemTemplate>
                        <table cellpadding="2" cellspacing="2" border="0" class="Normal">
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertOrderIDLabel" Text="OrderID" CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td>
                                <td>
                                    <asp:Label ID="lblOrderID" Text='<%# Bind("OrderID") %>' CssClass="Normal" runat="server" Visible="false"></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertCustomerIDLabel" Text="CustomerID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertCustomerID" runat="server" Text='<%# Bind("CustomerID") %>' MaxLength="10" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertEmployeeIDLabel" Text="EmployeeID" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertEmployeeID" runat="server" Text='<%# Bind("EmployeeID") %>' MaxLength="4" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertEmployeeID" runat="server" ErrorMessage="EmployeeID Must Be a Number" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertEmployeeID" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
					               	</td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertOrderDateLabel" Text="OrderDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertOrderDate" runat="server" Text='<%# Bind("OrderDate") %>' MaxLength="16" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertOrderDate" runat="server" ErrorMessage="OrderDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertOrderDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
	                            </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertRequiredDateLabel" Text="RequiredDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertRequiredDate" runat="server" Text='<%# Bind("RequiredDate") %>' MaxLength="16" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertRequiredDate" runat="server" ErrorMessage="RequiredDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertRequiredDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
	                            </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShippedDateLabel" Text="ShippedDate" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShippedDate" runat="server" Text='<%# Bind("ShippedDate") %>' MaxLength="16" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertShippedDate" runat="server" ErrorMessage="ShippedDate Must Be a Valid Date (mm/dd/yyyy)" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertShippedDate" Type="Date" MinimumValue="1/1/1970" MaximumValue="1/1/3000"></asp:RangeValidator>
	                            </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipViaLabel" Text="ShipVia" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipVia" runat="server" Text='<%# Bind("ShipVia") %>' MaxLength="4" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertShipVia" runat="server" ErrorMessage="ShipVia Must Be a Number" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertShipVia" Type="Integer" MinimumValue="0" MaximumValue="99999999"></asp:RangeValidator>
					               	</td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertFreightLabel" Text="Freight" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertFreight" runat="server" Text='<%# Bind("Freight") %>' MaxLength="21" CssClass="NormalTextBox" />
				                    </td> 
                                <td><asp:RangeValidator ID="rvInsertFreight" runat="server" ErrorMessage="Freight Must Be a Currency value" CssClass="NormalRed"
					                    Display="Dynamic" ControlToValidate="txtInsertFreight" Type="Currency" MinimumValue="0.00" MaximumValue="999999.99"></asp:RangeValidator>
						            </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipNameLabel" Text="ShipName" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipName" runat="server" Text='<%# Bind("ShipName") %>' MaxLength="80" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipAddressLabel" Text="ShipAddress" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipAddress" runat="server" Text='<%# Bind("ShipAddress") %>' MaxLength="120" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipCityLabel" Text="ShipCity" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipCity" runat="server" Text='<%# Bind("ShipCity") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipRegionLabel" Text="ShipRegion" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipRegion" runat="server" Text='<%# Bind("ShipRegion") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipPostalCodeLabel" Text="ShipPostalCode" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipPostalCode" runat="server" Text='<%# Bind("ShipPostalCode") %>' MaxLength="20" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="lblInsertShipCountryLabel" Text="ShipCountry" CssClass="Normal" runat="server"></asp:Label>
                                </td>
                                <td>
				                    <asp:TextBox ID="txtInsertShipCountry" runat="server" Text='<%# Bind("ShipCountry") %>' MaxLength="30" CssClass="NormalTextBox" />
				                    </td> 
                                <td></td>
                            </tr>
                         </table>                          
                         <asp:LinkButton runat="server"  ID="lbtnFormInsertOrders" CssClass="CommandButton" Text="Insert" OnClick="lbtnFormInsertOrders_Click" />&nbsp;&nbsp;
                         <asp:LinkButton runat="server"  ID="lbtnFormCancelInsertOrders" CausesValidation="False" CssClass="CommandButton" Text="Cancel" OnClick="lbtnFormCancelInsertOrders_Click" />                         
	                </InsertItemTemplate> 				                				                           
                </asp:FormView>
            </td>
        </tr>    
        <tr>
            <td align="right">
                <asp:LinkButton runat="server"  ID="lbtnReturnToOrdersList" CausesValidation="False" CssClass="CommandButton" Text="Return To Orders List" OnClick="lbtnReturnToOrdersList_Click" />
            </td>
        </tr>
    </table>
</asp:Panel>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
United States United States
SOFTWARE: Chris Hambleton is a Software Developer with proven experience in developing both web and Windows client-server applications with WPF, ASP.NET, C#, SQL Server, VB.NET, Visual C++, and VB6.

Chris's website is at ChrisHambleton.com and he has a small web-hosting/consulting business called CustomersInFocus.com. He has several other websites such as EzekielWatch.com, iWriterPro.com, and BookBlitzer.com.

WRITING: He has also written several fiction books ("The Time of Jacob's Trouble" and "Endeavor in Time"), available at CWHambleton.com and of course, at Amazon.com (Full Amazon Profile).

Comments and Discussions