Click here to Skip to main content
15,895,799 members
Articles / Programming Languages / C# 4.0

Using the jQuery Tooltip Plugin in a GridView

Rate me:
Please Sign up or sign in to vote.
4.68/5 (14 votes)
9 Aug 2011CPOL2 min read 67.8K   4.5K   44  
You want a little pop-up window to show additional information when you hover over a field on the GridView. The example below shows information about the respective related table (foreign key) when you hover over the link.
Imports System 
Imports System.Data 
Imports Northwind.DataLayer 
Imports Northwind.BusinessObject 
Imports System.Web.Script.Serialization 
 
Namespace Northwind.BusinessObject.Base 
 
     ''' <summary>
     ''' Base class for Products.  Do not make changes to this class,
     ''' instead, put additional code in the Products class 
     ''' </summary>
     Public Class ProductsBase
         ' private members 
         Private _productID As Integer 
         Private _productName As String 
         Private _supplierID As System.Nullable(Of Integer) 
         Private _categoryID As System.Nullable(Of Integer) 
         Private _quantityPerUnit As String 
         Private _unitPrice As System.Nullable(Of Decimal) 
         Private _unitsInStock As System.Nullable(Of Short) 
         Private _unitsOnOrder As System.Nullable(Of Short) 
         Private _reorderLevel As System.Nullable(Of Short) 
         Private _discontinued As Boolean 
 
         ''' <summary>
         ''' Gets or Sets ProductID 
         ''' </summary> 
         Public Property ProductID() As Integer 
             Get 
                 Return _productID 
             End Get 
             Set(ByVal value As Integer) 
                 _productID = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets ProductName 
         ''' </summary> 
         Public Property ProductName() As String 
             Get 
                 Return _productName 
             End Get 
             Set(ByVal value As String) 
                 _productName = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets SupplierID 
         ''' </summary> 
         Public Property SupplierID() As System.Nullable(Of Integer) 
             Get 
                 Return _supplierID 
             End Get 
             Set(ByVal value As System.Nullable(Of Integer)) 
                 _supplierID = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets CategoryID 
         ''' </summary> 
         Public Property CategoryID() As System.Nullable(Of Integer) 
             Get 
                 Return _categoryID 
             End Get 
             Set(ByVal value As System.Nullable(Of Integer)) 
                 _categoryID = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets QuantityPerUnit 
         ''' </summary> 
         Public Property QuantityPerUnit() As String 
             Get 
                 Return _quantityPerUnit 
             End Get 
             Set(ByVal value As String) 
                 _quantityPerUnit = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets UnitPrice 
         ''' </summary> 
         Public Property UnitPrice() As System.Nullable(Of Decimal) 
             Get 
                 Return _unitPrice 
             End Get 
             Set(ByVal value As System.Nullable(Of Decimal)) 
                 _unitPrice = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets UnitsInStock 
         ''' </summary> 
         Public Property UnitsInStock() As System.Nullable(Of Short) 
             Get 
                 Return _unitsInStock 
             End Get 
             Set(ByVal value As System.Nullable(Of Short)) 
                 _unitsInStock = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets UnitsOnOrder 
         ''' </summary> 
         Public Property UnitsOnOrder() As System.Nullable(Of Short) 
             Get 
                 Return _unitsOnOrder 
             End Get 
             Set(ByVal value As System.Nullable(Of Short)) 
                 _unitsOnOrder = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets ReorderLevel 
         ''' </summary> 
         Public Property ReorderLevel() As System.Nullable(Of Short) 
             Get 
                 Return _reorderLevel 
             End Get 
             Set(ByVal value As System.Nullable(Of Short)) 
                 _reorderLevel = value 
             End Set 
         End Property 

         ''' <summary>
         ''' Gets or Sets Discontinued 
         ''' </summary> 
         Public Property Discontinued() As Boolean 
             Get 
                 Return _discontinued 
             End Get 
             Set(ByVal value As Boolean) 
                 _discontinued = value 
             End Set 
         End Property 

         ''' <summary> 
         ''' Gets the Related Suppliers.  Related to column SupplierID 
         ''' </summary> 
         <ScriptIgnore> _ 
         Public ReadOnly Property Suppliers() As Lazy(Of Suppliers) 
             Get
                 Dim value As Integer 
                 Dim hasValue As Boolean = Int32.TryParse(SupplierID.ToString(), value) 
 
                 If hasValue Then 
                     Return New Lazy(Of Suppliers)(Function()Northwind.BusinessObject.Suppliers.SelectByPrimaryKey(value))
                 Else 
                     Return Nothing 
                 End If 
             End Get
         End Property
 
         ''' <summary> 
         ''' Gets the Related Categories.  Related to column CategoryID 
         ''' </summary> 
         <ScriptIgnore> _ 
         Public ReadOnly Property Categories() As Lazy(Of Categories) 
             Get
                 Dim value As Integer 
                 Dim hasValue As Boolean = Int32.TryParse(CategoryID.ToString(), value) 
 
                 If hasValue Then 
                     Return New Lazy(Of Categories)(Function()Northwind.BusinessObject.Categories.SelectByPrimaryKey(value))
                 Else 
                     Return Nothing 
                 End If 
             End Get
         End Property
 
 
         ''' <summary>
         ''' Constructor 
         ''' </summary> 
         Public Sub New()
         End Sub 
 
         ''' <summary>
         ''' Selects a record by primary key(s) 
         ''' </summary>
         Public Shared Function SelectByPrimaryKey(ByVal productID As Integer) As Products 
             Return ProductsDataLayer.SelectByPrimaryKey(productID) 
         End Function 
 
         ''' <summary> 
         ''' Selects all records as a collection (List) of Products 
         ''' </summary> 
         Public Shared Function SelectAll() As ProductsCollection 
             return ProductsDataLayer.SelectAll() 
         End Function 
 
         ''' <summary> 
         ''' Selects all records as a collection (List) of Products sorted by the sort expression 
         ''' </summary> 
         Public Shared Function SelectAll(sortExpression As String) As ProductsCollection 
             Dim objProductsCol As ProductsCollection = ProductsDataLayer.SelectAll() 
             Return SortByExpression(objProductsCol, sortExpression) 
         End Function 
 
         ''' <summary> 
         ''' Selects all Products by Suppliers, related to column SupplierID 
         ''' </summary>  
         Public Shared Function SelectProductsCollectionBySuppliers(supplierID As Integer) As ProductsCollection 
             Return ProductsDataLayer.SelectProductsCollectionBySuppliers(supplierID) 
         End Function 
          
         ''' <summary> 
         ''' Selects all Products by Suppliers, related to column SupplierID, sorted by the sort expression 
         ''' </summary> 
         Public Shared Function SelectProductsCollectionBySuppliers(supplierID As Integer, sortExpression As String) As ProductsCollection 
             Dim objProductsCol As ProductsCollection = ProductsDataLayer.SelectProductsCollectionBySuppliers(supplierID) 
             Return SortByExpression(objProductsCol, sortExpression) 
         End Function 
 
         ''' <summary> 
         ''' Selects all Products by Categories, related to column CategoryID 
         ''' </summary>  
         Public Shared Function SelectProductsCollectionByCategories(categoryID As Integer) As ProductsCollection 
             Return ProductsDataLayer.SelectProductsCollectionByCategories(categoryID) 
         End Function 
          
         ''' <summary> 
         ''' Selects all Products by Categories, related to column CategoryID, sorted by the sort expression 
         ''' </summary> 
         Public Shared Function SelectProductsCollectionByCategories(categoryID As Integer, sortExpression As String) As ProductsCollection 
             Dim objProductsCol As ProductsCollection = ProductsDataLayer.SelectProductsCollectionByCategories(categoryID) 
             Return SortByExpression(objProductsCol, sortExpression) 
         End Function 
 
         ''' <summary>
         ''' Selects ProductID and ProductName columns for use with a DropDownList web control, ComboBox, CheckedBoxList, ListView, ListBox, etc 
         ''' </summary> 
         Public Shared Function SelectProductsDropDownListData() As ProductsCollection 
             Return ProductsDataLayer.SelectProductsDropDownListData() 
         End Function 
 
         ''' <summary>
         ''' Sorts the ProductsCollection by sort expression 
         ''' </summary> 
         Public Shared Function SortByExpression(objProductsCol As ProductsCollection, sortExpression As String) As ProductsCollection 
             Dim isSortDescending As Boolean = sortExpression.Contains(" DESC")

             If isSortDescending Then
                 sortExpression = sortExpression.Replace(" DESC", "")
             End If

             Select Case sortExpression
                 Case "ProductID"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByProductID)
                     Exit Select
                 Case "ProductName"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByProductName)
                     Exit Select
                 Case "SupplierID"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.BySupplierID)
                     Exit Select
                 Case "CategoryID"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByCategoryID)
                     Exit Select
                 Case "QuantityPerUnit"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByQuantityPerUnit)
                     Exit Select
                 Case "UnitPrice"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByUnitPrice)
                     Exit Select
                 Case "UnitsInStock"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByUnitsInStock)
                     Exit Select
                 Case "UnitsOnOrder"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByUnitsOnOrder)
                     Exit Select
                 Case "ReorderLevel"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByReorderLevel)
                     Exit Select
                 Case "Discontinued"
                     objProductsCol.Sort(Northwind.BusinessObject.Products.ByDiscontinued)
                     Exit Select
                 Case Else
                     Exit Select
             End Select

             If isSortDescending Then 
                 objProductsCol.Reverse()
             End If 

             Return objProductsCol
         End Function 
 
         ''' <summary>
         ''' Inserts a record 
         ''' </summary> 
         Public Function Insert() As Integer 
             Dim objProducts As Products = DirectCast(Me, Products) 
             Return ProductsDataLayer.Insert(objProducts) 
         End Function 
 
         ''' <summary>
         ''' Updates a record 
         ''' </summary> 
         Public Sub Update() 
             Dim objProducts As Products = DirectCast(Me, Products) 
             ProductsDataLayer.Update(objProducts) 
         End Sub 
 
         ''' <summary>
         ''' Deletes a record based on primary key(s) 
         ''' </summary>
         Public Shared Sub Delete(ByVal productID As Integer) 
             ProductsDataLayer.Delete(productID) 
         End Sub 
 
         ''' <summary> 
         ''' Compares ProductID used for sorting 
         ''' </summary> 
         Public Shared ByProductID As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return x.ProductID.CompareTo(y.ProductID) 
         End Function 
 
         ''' <summary> 
         ''' Compares ProductName used for sorting 
         ''' </summary> 
         Public Shared ByProductName As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Dim value1 As String = If(x.ProductName, String.Empty) 
             Dim value2 As String = If(y.ProductName, String.Empty) 
             Return value1.CompareTo(value2) 
         End Function 
 
         ''' <summary> 
         ''' Compares SupplierID used for sorting 
         ''' </summary> 
         Public Shared BySupplierID As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.SupplierID, y.SupplierID) 
         End Function 
 
         ''' <summary> 
         ''' Compares CategoryID used for sorting 
         ''' </summary> 
         Public Shared ByCategoryID As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.CategoryID, y.CategoryID) 
         End Function 
 
         ''' <summary> 
         ''' Compares QuantityPerUnit used for sorting 
         ''' </summary> 
         Public Shared ByQuantityPerUnit As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Dim value1 As String = If(x.QuantityPerUnit, String.Empty) 
             Dim value2 As String = If(y.QuantityPerUnit, String.Empty) 
             Return value1.CompareTo(value2) 
         End Function 
 
         ''' <summary> 
         ''' Compares UnitPrice used for sorting 
         ''' </summary> 
         Public Shared ByUnitPrice As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.UnitPrice, y.UnitPrice) 
         End Function 
 
         ''' <summary> 
         ''' Compares UnitsInStock used for sorting 
         ''' </summary> 
         Public Shared ByUnitsInStock As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.UnitsInStock, y.UnitsInStock) 
         End Function 
 
         ''' <summary> 
         ''' Compares UnitsOnOrder used for sorting 
         ''' </summary> 
         Public Shared ByUnitsOnOrder As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.UnitsOnOrder, y.UnitsOnOrder) 
         End Function 
 
         ''' <summary> 
         ''' Compares ReorderLevel used for sorting 
         ''' </summary> 
         Public Shared ByReorderLevel As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return Nullable.Compare(x.ReorderLevel, y.ReorderLevel) 
         End Function 
 
         ''' <summary> 
         ''' Compares Discontinued used for sorting 
         ''' </summary> 
         Public Shared ByDiscontinued As Comparison(Of Products) = 
         Function(ByVal x As Products, ByVal y As Products) 
             Return x.Discontinued.CompareTo(y.Discontinued) 
         End Function 
 
     End Class 
End Namespace 

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
None.

Comments and Discussions