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_UpdatePanel
    Inherits System.Web.UI.Page
    'Global variables
    Protected Shared Skin As String = ""
    Private SQL_Default As String = "SELECT CustomerID, CompanyName, ContactName, Address, PostalCode FROM Customers ORDER BY CustomerID"
    Protected Shared SQL As String = ""
    Protected Shared KeyField As String = ""


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim sm As ScriptManager = ScriptManager.GetCurrent(Page)

        'Set defaults
        If sm.IsInAsyncPostBack = False AndAlso Page.IsCallback = False AndAlso Page.IsPostBack = False Then
            Skin = "Classic"
            SQL = SQL_Default
            KeyField = "CustomerID"
        End If

        'Check defaults
        If Skin = "" Then
            Skin = "Classic"
        End If
        If SQL = "" Then
            SQL = SQL_Default
            KeyField = "CustomerID"
        End If

        BuildControl()
    End Sub


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Skin = "GrayScale"
        SQL = "SELECT OrderID, OrderDate, ShippedDate, ShipAddress, ShipCountry FROM Orders ORDER BY OrderID"
        KeyField = "OrderID"
        BuildControl()
    End Sub


    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
        Skin = "WinXP"
        SQL = "SELECT ProductID, ProductName, QuantityPerUnit, UnitPrice, UnitsInStock FROM Products ORDER BY ProductID"
        KeyField = "ProductID"
        BuildControl()
    End Sub


    Private Sub BuildControl()
        myDataGrid.SkinFolder = "~/DataGrid/Skins/" & _
            Skin
        myDataGrid.DataSource = DataBase.GetDataTableOleDb(SQL, "~/DataGrid/DataBases/Nwind.mdb")
        myDataGrid.KeyFieldName = KeyField
        myDataGrid.DataBind()

        myDataGrid.ResetColumnWidths()
        myDataGrid.ResetPageNumber()
        myDataGrid.ResetSelectedRow()
        myDataGrid.ResetScrollbars()
        myDataGrid.ResetSortedColumn()
    End Sub
End Class