Automatically generate lists and pagins according to the ADO record set, need to be converted to Recordset: RS_GRID
<%
'==================================================== ==========
'Page class, generally from .NET's DataGrid's way
'Features: Automatically generate DataGrid list heads and content, as well as paging columns
'According to the netizen bubuy (湃 nomoneytobuy) score page function modified to class
'Example of use:
'DIM DG
'DIM URL
'DIM FLD (2)
'DIM FLDNAME (2)
'Dim Fldwidth (2)
'Fld (0) = "id"
'FLD (1) = "Title"
'FLD (2) = "Input_date"
'FldName (0) = "number"
'FLDNAME (1) = "Title"
'FldName (2) = "Entry Date"
'Fldwidth (0) = "10%"
'Fldwidth (1) = "60%"
'Fldwidth (2) = "30%"
'set DG = New DataGrid
'DG.DataSource = RS_GRID
'DG.TITLECOLOR = "# DCE19D"
'DG.PageSize = 1
'DG.fields = FLD
'DG.fieldsname = fldname
'DG.fieldWidth = FldWidth
'URL = Request.serverVariables ("URL") & "? Param = TestParameter" // There is an original parameter
'DG.URL = URL
'DG.Generate ()
'============= Designed by window WINDANCER 2003.10.17 ================
Class DataGrid
Private obj_recordset 'Recordset
Private int_pagesize 'per page record number
'Two arrays save database field name and Chinese name
Private Arr_field 'Database field
Private arr_fieldname 'field display name ()
Private arr_fieldwidth 'field display width
Private str_titlecolor 'Header Color #EFFFCE
Private str_url 'request URLPRIVATE STR_ERROR' Error Information
Private sub coplass_initialize ()
INT_PAGESIZE = 10
Str_titlecolor = "#fffff"
STR_ERROR = "" "
End Sub
'==================================================== ==============
'Attribute information
'==================================================== ================
'-----------------------------------
'Data Source, I only support Recordset
'-----------------------------------
Public property Let DataSource (OBJ)
Set obj_recordset = OBJ
End Property
Public Property Let PageSize (int
Value
INT_PAGESIZE = INT
Value
End Property
Public property Get Pagesize
PageSize = int_categoryID
End Property
Public Property Let Fields (Arr)
Arr_field = arr
End Property
Public property Get Fields
Fields = arr_field
End Property
Public Property Let FieldsName (Arr)
Arr_fieldname = arr
End Property
Public property Get FieldsName
FieldsName = arr_fieldname
End Property
Public Property Let FieldWidth (Arr)
Arr_fieldwidth = arr
End Property
Public property Get FieldWidth
FieldWidth = arr_fieldwidth
End Property
Public Property Let Titlecolor (STR
Value
Str_titlecolor = STR
Value
End Property
Public property Get Titlecolortitlecolor = STR_TITLECOLOR
End Property
'------------------------------------- ----
'This attribute is to save the URL path
'If the current path is with parameters, then use & page = X, otherwise it is used? Page = X
'------------------------------------- -----
Public Property Let Url (STR
Value
STR_URL = STR
Value
End Property
Public property Get URL
URL = STR_URL
End Property
'==================================================== ================
'method
'==================================================== ================
'------------------------------------- ---------------
'Display current error
'------------------------------------- ---------------
Private sub dresslastError ()
Response.write (STR_ERROR)
Response.end ()
End Sub
'------------------------------------- ---------------
'Generate ()
'Using ADO Page
'------------------------------------- ----------------
Public Sub Generate ()
'---- Check parameters --------------------------
CHECK
'--------- Variable Declaration -----------------------------------
Dim FieldCount 'display field
Fieldcount = ubound (arr_field) 1
DIM CurrentPage 'current page
DIM PGCOUNT 'Total Page
DIM Recount 'records, this is originally used to take RS.Recordcount, save the efficiency and the high DIM Hasotherparam' URL contains other parameters.
DIM PageParam 'Current page URL parameter
DIM PageInfomation 'Current Pedestrian Status Information
DIM SEPERATOR 'Sets the separator
SEPERATOR = ""
'------------- Treat URL parameters -------------------------
IF INSTR (STR_URL, "?")> 0 THEN
Hasotherparam = TRUE
PageParam = "& Page ="
Else
Hasotherparam = false
PageParam = "? Page ="
END IF
'---------- Get the current page --------------------------------
CurrentPage = Request.QueryString ("Page")
IF currentpage = "" ""
CurrentPage = 1
Else
CurrentPage = CINT (CURRENTPAGE)
END IF
'----------- Handling data source ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Obj_recordset.pagesize = int_pagesize
Recount = obj_recordset.recordcount
Pgcount = obj_recordset.pagecount
If Obj_Recordset.eof Then
Response.write ("
Else
'----------- Treatment ADO Page ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
IF CurrentPage <1 THEN
CurrentPage = 1
Else
IF CurrentPage> Pgcount Then
Currentpage = pgcount
END IF
END IF
Obj_recordset.absolutePage = CURRENTPAGE
Response.write ("