Imports APNSoft.WebControls
Imports System.Data.OleDb
Public Class WebForm1
Inherits System.Web.UI.Page
'DataGrid declaration
Protected dg1 As APNSoftDataGrid
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Set the DataGrid properties
dg1.ID = "dg1"
dg1.BasePage = MyBase.Page
dg1.SkinFolder = "~/Skins/APNSoft/"
dg1.KeyFieldName = "ISBN"
'Apply server-side events
AddHandler dg1.CallTheServer, _
New DataGridEventHandler(AddressOf Me.dg1_CallTheServer)
'Apply a client-side function to be called after the Server Response.
dg1.ClientSideAfterCallBack = "CallTheServerResponse"
'Define SQL query
Dim SQL As String = "SELECT '0' as LineNumbers, ISBN, Title, Synopsis FROM Books"
'Create the DataTable object
Dim myDataTable As DataTable = GetDataSource(SQL)
'Set the data source
dg1.DataSource = myDataTable
dg1.DataBind()
'Format Columns
dg1.Columns("LineNumbers").LineNumbers = True
dg1.Columns("LineNumbers").FormatType = GetType(String)
dg1.Columns("LineNumbers").FormatString = "{0}."
dg1.Columns("LineNumbers").CssClass = "LineNumbers"
dg1.Columns("LineNumbers").Width = New System.Web.UI.WebControls.Unit(30)
dg1.Columns("LineNumbers").Sortable = False
dg1.Columns("LineNumbers").Resizable = False
dg1.Columns("LineNumbers").HeaderText = ""
dg1.Columns("ISBN").Visible = False
dg1.Columns("Title").Width = New System.Web.UI.WebControls.Unit(220)
dg1.Columns("Title").HeaderText = "Book title:"
dg1.Columns("Synopsis").Visible = False
'Set the client-side function to display the row ID
dg1.ClientSideOnSelectRow = "ClientSideOnSelectRow"
End Sub
'Server-side procedure for Book Details
Private Sub dg1_CallTheServer(ByVal sender As Object, ByVal e As DataGridEventArgs)
'Get the Row
Dim myGridRow As GridRow = e.GridRow
'Get book details
Dim BookDetails As String = ""
BookDetails += "<img src='" & "./Images/Books/" & myGridRow.Cells("ISBN").Value.ToString() & ".gif" & "' />"
BookDetails += myGridRow.Cells("Synopsis").Value.ToString()
'Set book details as parameter
e.Parameter = BookDetails
End Sub
'Returns a DataTable from MS Access database
Private Function GetDataSource(ByVal query As String) As DataTable
Dim conn As OleDbConnection = New OleDbConnection
Dim myOleDbDataAdapter As OleDbDataAdapter = New OleDbDataAdapter
Dim myDataTable As DataTable = New DataTable
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
System.Web.HttpContext.Current.Server.MapPath("~/DataBase/Books.mdb")
myOleDbDataAdapter.SelectCommand = New OleDbCommand(query, conn)
conn.Open()
Try
myOleDbDataAdapter.Fill(myDataTable)
Finally
conn.Close()
End Try
Return myDataTable
End Function
#Region " Web Form Designer Generated Code "
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private designerPlaceholderDeclaration As System.Object
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
InitializeComponent()
End Sub
#End Region
End Class
|