<% ' If control is passed here, simply terminate the page without redirect Call Page_Terminate("") ' ----------------------------------------------------------------- ' Subroutine Page_Terminate ' - called when exit page ' - clean up ADO connection and objects ' - if url specified, redirect to url, otherwise end response ' Sub Page_Terminate(url) ' Page unload event, used in current page Call Page_Unload() ' Global page unloaded event (in userfn60.asp) Call Page_Unloaded() conn.Close ' Close Connection Set conn = Nothing Set Security = Nothing Set LastNews = Nothing ' Go to url if specified If url <> "" Then Response.Clear Response.Redirect url End If ' Terminate response Response.End End Sub ' ' Subroutine Page_Terminate (End) ' ---------------------------------------- %><% ' Set up number of records displayed per page Sub SetUpDisplayRecs() Dim sWrk sWrk = Request.QueryString(EW_TABLE_REC_PER_PAGE) If sWrk <> "" Then If IsNumeric(sWrk) Then nDisplayRecs = CInt(sWrk) Else If LCase(sWrk) = "all" Then ' Display all records nDisplayRecs = -1 Else nDisplayRecs = 1 ' Non-numeric, load default End If End If LastNews.RecordsPerPage = nDisplayRecs ' Save to Session ' Reset start position nStartRec = 1 LastNews.StartRecordNumber = nStartRec Else If LastNews.RecordsPerPage <> "" Then nDisplayRecs = LastNews.RecordsPerPage ' Restore from Session Else nDisplayRecs = 1 ' Load default End If End If End Sub ' Set up Sort parameters based on Sort Links clicked Sub SetUpSortOrder() Dim sOrderBy Dim sSortField, sLastSort, sThisSort Dim bCtrl ' Check for an Order parameter If Request.QueryString("order").Count > 0 Then LastNews.CurrentOrder = Request.QueryString("order") LastNews.CurrentOrderType = Request.QueryString("ordertype") ' Field NewsHeadline Call LastNews.UpdateSort(LastNews.NewsHeadline) ' Field NewsDate Call LastNews.UpdateSort(LastNews.NewsDate) LastNews.StartRecordNumber = 1 ' Reset start position End If sOrderBy = LastNews.SessionOrderBy ' Get order by from Session If sOrderBy = "" Then If LastNews.SqlOrderBy <> "" Then sOrderBy = LastNews.SqlOrderBy LastNews.SessionOrderBy = sOrderBy End If End If End Sub ' Reset command based on querystring parameter cmd= ' - RESET: reset search parameters ' - RESETALL: reset search & master/detail parameters ' - RESETSORT: reset sort parameters Sub ResetCmd() Dim sCmd ' Get reset cmd If Request.QueryString("cmd").Count > 0 Then sCmd = Request.QueryString("cmd") ' Reset Sort Criteria If LCase(sCmd) = "resetsort" Then Dim sOrderBy sOrderBy = "" LastNews.SessionOrderBy = sOrderBy LastNews.NewsHeadline.Sort = "" LastNews.NewsDate.Sort = "" End If ' Reset start position nStartRec = 1 LastNews.StartRecordNumber = nStartRec End If End Sub %><% ' Set up Starting Record parameters based on Pager Navigation Sub SetUpStartRec() Dim nPageNo ' Exit if nDisplayRecs = 0 If nDisplayRecs = 0 Then Exit Sub ' Check for a START parameter If Request.QueryString(EW_TABLE_START_REC).Count > 0 Then nStartRec = Request.QueryString(EW_TABLE_START_REC) LastNews.StartRecordNumber = nStartRec ElseIf Request.QueryString(EW_TABLE_PAGE_NO).Count > 0 Then nPageNo = Request.QueryString(EW_TABLE_PAGE_NO) If IsNumeric(nPageNo) Then nStartRec = (nPageNo-1)*nDisplayRecs+1 If nStartRec <= 0 Then nStartRec = 1 ElseIf nStartRec >= ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 Then nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 End If LastNews.StartRecordNumber = nStartRec Else nStartRec = LastNews.StartRecordNumber End If Else nStartRec = LastNews.StartRecordNumber End If ' Check if correct start record counter If Not IsNumeric(nStartRec) Or nStartRec = "" Then ' Avoid invalid start record counter nStartRec = 1 ' Reset start record counter LastNews.StartRecordNumber = nStartRec ElseIf CLng(nStartRec) > CLng(nTotalRecs) Then ' Avoid starting record > total records nStartRec = ((nTotalRecs-1)\nDisplayRecs)*nDisplayRecs+1 ' Point to last page first record LastNews.StartRecordNumber = nStartRec ElseIf (nStartRec-1) Mod nDisplayRecs <> 0 Then nStartRec = ((nStartRec-1)\nDisplayRecs)*nDisplayRecs+1 ' Point to page boundary LastNews.StartRecordNumber = nStartRec End If End Sub %><% ' Load recordset Function LoadRecordset() ' Call Recordset Selecting event Call LastNews.Recordset_Selecting(LastNews.CurrentFilter) ' Load list page sql Dim sSql sSql = LastNews.ListSQL ' Response.Write sSql ' Uncomment to show SQL for debugging ' Load recordset Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = EW_CURSORLOCATION rs.Open sSql, conn, 1, 2 ' Call Recordset Selected event Call LastNews.Recordset_Selected(rs) Set LoadRecordset = rs End Function %><% ' Load row based on key values Function LoadRow() Dim rs, sSql, sFilter sFilter = LastNews.SqlKeyFilter ' Call Row Selecting event Call LastNews.Row_Selecting(sFilter) ' Load sql based on filter LastNews.CurrentFilter = sFilter sSql = LastNews.SQL Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sSql, conn If rs.Eof Then LoadRow = False Else LoadRow = True rs.MoveFirst Call LoadRowValues(rs) ' Load row values ' Call Row Selected event Call LastNews.Row_Selected(rs) End If rs.Close Set rs = Nothing End Function ' Load row values from recordset Sub LoadRowValues(rs) LastNews.NewsHeadline.DbValue = rs("NewsHeadline") LastNews.NewsDate.DbValue = rs("NewsDate") End Sub %> <% ' Render row values based on field settings Sub RenderRow() ' Call Row Rendering event Call LastNews.Row_Rendering() ' Common render codes for all row types ' NewsHeadline LastNews.NewsHeadline.CellCssStyle = "" LastNews.NewsHeadline.CellCssClass = "" ' NewsDate LastNews.NewsDate.CellCssStyle = "" LastNews.NewsDate.CellCssClass = "" If LastNews.RowType = EW_ROWTYPE_VIEW Then ' View row ' NewsHeadline LastNews.NewsHeadline.ViewValue = LastNews.NewsHeadline.CurrentValue LastNews.NewsHeadline.CssStyle = "" LastNews.NewsHeadline.CssClass = "" LastNews.NewsHeadline.ViewCustomAttributes = "" ' NewsDate LastNews.NewsDate.ViewValue = LastNews.NewsDate.CurrentValue LastNews.NewsDate.CssStyle = "" LastNews.NewsDate.CssClass = "" LastNews.NewsDate.ViewCustomAttributes = "" ' NewsHeadline ' *** view refer script LastNews.NewsHeadline.HrefValue = "" ' NewsDate ' *** view refer script LastNews.NewsDate.HrefValue = "" ElseIf LastNews.RowType = EW_ROWTYPE_ADD Then ' Add row ElseIf LastNews.RowType = EW_ROWTYPE_EDIT Then ' Edit row ElseIf LastNews.RowType = EW_ROWTYPE_SEARCH Then ' Search row End If ' Call Row Rendered event Call LastNews.Row_Rendered() End Sub %> <% ' Page Load event Sub Page_Load() '***Response.Write "Page Load" End Sub ' Page Unload event Sub Page_Unload() '***Response.Write "Page Unload" End Sub %>