Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls

Partial Public Class DataGrid_ColumnsTemplateXSL
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

        'Define SQL query
        Dim SqlQuery As String = "SELECT OD.OrderID, P.ProductName, OD.UnitPrice, OD.Quantity " & _
            "FROM Products AS P INNER JOIN [Order Details] AS OD ON P.ProductID = OD.ProductID ORDER BY OD.OrderID;"


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

        'Set the data source
        'myDataGrid.KeyFieldName = "OrderID"; //Disabled - not unique
        myDataGrid.DataSource = myDataSource
        myDataGrid.DataBind()

        'Initial widths for columns 
        myDataGrid.Columns("OrderID").Width = 80
        myDataGrid.Columns("ProductName").Width = 215
        myDataGrid.Columns("UnitPrice").Width = 100
        myDataGrid.Columns("Quantity").Width = 138

        'Data formatting
        Dim format As System.IFormatProvider = New System.Globalization.CultureInfo("en-US", True)

        myDataGrid.Columns("UnitPrice").FormatProvider = format
        myDataGrid.Columns("UnitPrice").FormatType = GetType(System.Decimal)
        myDataGrid.Columns("UnitPrice").FormatString = "C"

        'Apply templates
        myDataGrid.Columns("Quantity").Template = "~/DataGrid/Templates/Quantity.xsl"
        myDataGrid.Columns("Quantity").CssClass = "PostalCode"
    End Sub
End Class