using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class DataGrid_MasterDetail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Declarations
        DataTable myDataSource = null;
        string SqlQuery = "";


        #region Populate the Customers

        //Define SQL query
        SqlQuery = @"SELECT CustomerID, CompanyName, ContactName, Address, PostalCode FROM Customers ORDER BY CustomerID";

        //Get DataTable (MS Access Database)
        myDataSource = DataBase.GetDataTableOleDb(SqlQuery, "~/DataGrid/DataBases/Nwind.mdb"); 

        //Set the data source
        myCustomers.KeyFieldName = "CustomerID";
        myCustomers.DataSource = myDataSource;
        myCustomers.DataBind();


        #endregion


        #region Populate the Orders

        //Define SQL query
        SqlQuery = @"SELECT O.OrderID, O.CustomerID, O.OrderDate, O.ShippedDate, S.CompanyName AS Shipper, O.Freight " +
            "FROM Shippers AS S INNER JOIN Orders AS O ON S.ShipperID = O.ShipVia ORDER BY O.OrderID;";

        //Get DataTable (MS Access Database)
        myDataSource = DataBase.GetDataTableOleDb(SqlQuery, "~/DataGrid/DataBases/Nwind.mdb"); 

        //Set the data source
        myOrders.KeyFieldName = "OrderID";
        myOrders.DataSource = myDataSource;
        myOrders.DataBind();



        //Format the data
        System.IFormatProvider format = new System.Globalization.CultureInfo("en-US", true);

        myOrders.Columns["OrderDate"].FormatProvider = format;
        myOrders.Columns["OrderDate"].FormatType = typeof(System.DateTime);
        myOrders.Columns["OrderDate"].FormatString = "MMMM dd, yyyy";

        myOrders.Columns["ShippedDate"].FormatProvider = format;
        myOrders.Columns["ShippedDate"].FormatType = typeof(System.DateTime);
        myOrders.Columns["ShippedDate"].FormatString = "MMMM dd, yyyy";

        myOrders.Columns["Freight"].FormatProvider = format;
        myOrders.Columns["Freight"].FormatType = typeof(System.Decimal);
        myOrders.Columns["Freight"].FormatString = "C";


        //Set the non-existent CustomerID (by default)
        myOrders.RowFilter = "CustomerID='Undefined'";

        #endregion

    }
}