<%@ Page Title="Products" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="GridViewInline_Products.aspx.cs" Inherits="Northwind45.GridViewInline_Products" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
    <%: Scripts.Render("~/Scripts/jquery.validate.min.js"%>
    <%: Scripts.Render("~/Scripts/jquery.metadata.min.js"%>
    <%: Scripts.Render("~/Scripts/gridview-inline-script.js"%>
</asp:Content>
 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <asp:Literal ID="LitSortExpression" Visible="false" runat="server" />
    <asp:Literal ID="LitSortDirection" Visible="false" runat="server" />
 
    <div id="deleteConfirmationDialog"></div>
    <div id="errorDialog" title="An error occured during item deletion!"></div>
 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ImageButton ID="IBtnAdd" ImageUrl="~/Images/Add.gif" AlternateText="Add New Products" OnClick="IBtnAdd_Click" CausesValidation="false" runat="server"  />
            <asp:LinkButton ID="LbtnAdd" Text="Add New Products" OnClick="LbtnAdd_Click" CausesValidation="false" runat="server"  />
            <br /><br />
            <asp:Panel ID="PnlAddNewRecord" Visible="false" runat="server">
            <table class="gridviewGridLines" cellspacing="0" cellpadding="8" rules="all" border="1" id="MainContent_GridView1" style="color:Blackwidth1400px;border-collapse:collapse;">
                <tr style="color:White;background-color:#5D7B9D;font-weight:bold;">
                    <th>Product ID</th>
                    <th>Product Name</th>
                    <th>Supplier ID</th>
                    <th>Category ID</th>
                    <th>Quantity Per Unit</th>
                    <th>Unit Price</th>
                    <th>Units In Stock</th>
                    <th>Units On Order</th>
                    <th>Reorder Level</th>
                    <th>Discontinued</th>
                    <th>&nbsp;</th>
                    <th>&nbsp;</th>
                </tr>
                <tr>
                    <td style="width:100pxtext-aligncenter;">&nbsp;</td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtProductName" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="width:100pxtext-aligncenter;"><asp:DropDownList ID="DdlSupplierID" SkinID="DropDownInline" SelectMethod="GetSuppliersDropDownListData" DataValueField="SupplierID" DataTextField="CompanyName" AppendDataBoundItems="true" runat="server"><asp:ListItem Value="">Select One</asp:ListItem></asp:DropDownList></td>
                    <td style="width:100pxtext-aligncenter;"><asp:DropDownList ID="DdlCategoryID" SkinID="DropDownInline" SelectMethod="GetCategoriesDropDownListData" DataValueField="CategoryID" DataTextField="CategoryName" AppendDataBoundItems="true" runat="server"><asp:ListItem Value="">Select One</asp:ListItem></asp:DropDownList></td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtQuantityPerUnit" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtUnitPrice" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtUnitsInStock" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtUnitsOnOrder" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="width:100pxtext-aligncenter;"><asp:TextBox ID="TxtReorderLevel" SkinID="TextBoxInline" runat="server" /></td>
                    <td style="text-aligncenter;"><asp:CheckBox ID="CbxDiscontinued" runat="server" /></td>
                    <td style="width:60pxtext-aligncenter;">
                        <asp:ImageButton ID="IBtnAddNewRecord" runat="server" ToolTip="Click to Add New Record" ImageUrl="~/Images/Add.gif" Width="16" Height="16" BorderStyle="None" BackColor="Transparent" OnClick="IBtnAddNewRecord_Click" />
                        <asp:ImageButton ID="IBtnCancelAdd" runat="server" ToolTip="Cancel" ImageUrl="~/Images/Cancel.png" Width="16" Height="16" BorderStyle="None" BackColor="Transparent" OnClick="IBtnCancelAdd_Click" CausesValidation="false" />
                    </td>
                    <td style="width:30px;"></td>
                </tr>
            </table>
            </asp:Panel>
            <asp:GridView ID="GridView1" runat="server" DataKeyNames="ProductID"
                ItemType="Northwind45.BusinessObject.Products" SelectMethod="GetGridData" DeleteMethod="DeleteGridItem" UpdateMethod="UpdateItem"
                OnRowUpdated="GridView1_RowUpdated" EnableModelValidation="true"
	        onrowdatabound="GridView1_RowDataBound" onrowcreated="GridView1_RowCreated" SkinID="GridViewProfessionalFixed" Width="1400">
	        <Columns>
		        <asp:BoundField DataField="ProductID" HeaderText="Product ID" ReadOnly="true" SortExpression="ProductID" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="inlineGridViewItemStyle" />
		        <asp:TemplateField HeaderText="Product Name" SortExpression="ProductName" ItemStyle-CssClass="inlineGridViewItemStyle">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtProductName" SkinID="TextBoxInline" Text='<%# BindItem.ProductName %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblProductName" Text='<%#: Item.ProductName %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Supplier ID" SortExpression="SupplierID" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:DropDownList ID="DdlSupplierID" SkinID="DropDownInline" SelectMethod="GetSuppliersDropDownListData" DataValueField="SupplierID" DataTextField="CompanyName" SelectedValue='<%# BindItem.SupplierID %>' AppendDataBoundItems="true"  runat="server">
		                    <asp:ListItem Value="">Select One</asp:ListItem>
		                </asp:DropDownList>
		            </EditItemTemplate>
		            <ItemTemplate>
		                <a href="DetailOkThen_Suppliers.aspx?supplierID=<%#: Item.SupplierID %>"><%#: Item.SupplierID %></a>
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Category ID" SortExpression="CategoryID" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:DropDownList ID="DdlCategoryID" SkinID="DropDownInline" SelectMethod="GetCategoriesDropDownListData" DataValueField="CategoryID" DataTextField="CategoryName" SelectedValue='<%# BindItem.CategoryID %>' AppendDataBoundItems="true"  runat="server">
		                    <asp:ListItem Value="">Select One</asp:ListItem>
		                </asp:DropDownList>
		            </EditItemTemplate>
		            <ItemTemplate>
		                <a href="DetailOkThen_Categories.aspx?categoryID=<%#: Item.CategoryID %>"><%#: Item.CategoryID %></a>
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Quantity Per Unit" SortExpression="QuantityPerUnit" ItemStyle-CssClass="inlineGridViewItemStyle">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtQuantityPerUnit" SkinID="TextBoxInline" Text='<%# BindItem.QuantityPerUnit %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblQuantityPerUnit" Text='<%#: Item.QuantityPerUnit %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Unit Price" SortExpression="UnitPrice" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtUnitPrice" SkinID="TextBoxInline" Text='<%# BindItem.UnitPrice %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblUnitPrice" Text='<%#: Item.UnitPrice %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Units In Stock" SortExpression="UnitsInStock" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtUnitsInStock" SkinID="TextBoxInline" Text='<%# BindItem.UnitsInStock %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblUnitsInStock" Text='<%#: Item.UnitsInStock %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Units On Order" SortExpression="UnitsOnOrder" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtUnitsOnOrder" SkinID="TextBoxInline" Text='<%# BindItem.UnitsOnOrder %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblUnitsOnOrder" Text='<%#: Item.UnitsOnOrder %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Reorder Level" SortExpression="ReorderLevel" ItemStyle-CssClass="inlineGridViewItemStyle" ItemStyle-HorizontalAlign="Right">
		            <EditItemTemplate>
		                <asp:TextBox ID="TxtReorderLevel" SkinID="TextBoxInline" Text='<%# BindItem.ReorderLevel %>' runat="server" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Label ID="LblReorderLevel" Text='<%#: Item.ReorderLevel %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
		        <asp:TemplateField HeaderText="Discontinued" SortExpression="Discontinued" ItemStyle-HorizontalAlign="Center">
		            <EditItemTemplate>
		                <asp:ImageButton ID="IBtnDiscontinued" runat="server"
		                    ImageUrl='<%#: Item.Discontinued ? "~/Images/CheckBoxTrue.png" : "~/Images/CheckBoxFalse.png" %>'
		                    BorderStyle="None" BackColor="Transparent" 
		                    AlternateText='<%#: Item.ProductID %>' 
		                    Width="16" Height="16" OnClick="IBtnDiscontinued_Click" />
		            </EditItemTemplate>
		            <ItemTemplate>
		                <asp:Image ID="ImgDiscontinued" ImageUrl='<%#: Item.Discontinued ? "~/Images/CheckBoxTrue.png" : "~/Images/CheckBoxFalse.png" %>' runat="server" />
		            </ItemTemplate>
		        </asp:TemplateField>
                          <asp:TemplateField ShowHeader="False" ItemStyle-Width="60px" ItemStyle-HorizontalAlign="Center">
                              <ItemTemplate>
                                  <asp:ImageButton ID="IBtnEdit" runat="server" ToolTip="Click to Edit"
                    			ImageUrl="~/Images/Edit.gif" Width="16" Height="16"
                    			BorderStyle="None" BackColor="Transparent"
                    			CommandName="Edit" />
                              </ItemTemplate>
                              <EditItemTemplate>
                                  <asp:ImageButton ID="IBtnUpdate" runat="server" ToolTip="Click to Update"
                    			ImageUrl="~/Images/Checked.gif" Width="16" Height="16"
                    			BorderStyle="None" BackColor="Transparent"
                    			CommandName="Update" />
 
                                  <asp:ImageButton ID="IBtnCancel" runat="server" ToolTip="Click to Cancel"
                    		         ImageUrl="~/Images/Unchecked.gif" Width="16" Height="16"
                    			BorderStyle="None" BackColor="Transparent"
                    			CommandName="Cancel" />
                              </EditItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField>
                    	<ItemStyle Width="30px" HorizontalAlign="Center" />
                    	<ItemTemplate>
			    <asp:ImageButton ID="IBtnDelete" runat="server" ToolTip="Click to delete"
				      CommandArgument='<%#: Item.ProductID %>' BorderStyle="None" BackColor="Transparent"
				      OnClientClick="javascript:return deleteItem(this.name, this.alt);"
				      ImageUrl="~/Images/Delete.png" AlternateText='<%#: Item.ProductID %>'
				      Width="16" Height="16"
				      CommandName="Delete" />
                    	</ItemTemplate>
                        </asp:TemplateField>
	        </Columns>
	        <EmptyDataTemplate>No records found!</EmptyDataTemplate>
            </asp:GridView>
        </ContentTemplate>
    </asp:UpdatePanel>
 
    <asp:UpdateProgress ID="UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel1" runat="server" DisplayAfter="0">
        <ProgressTemplate>
	        <br />
	        <img src="Images/ActivityIndicator.gif" alt="" /> Processing your request.  Please wait....
        </ProgressTemplate>
    </asp:UpdateProgress>
 
</asp:Content>