?? list-script-function.asp
字號:
<!--##session listfunction##-->
<%
<!--## If sRecPerPageList <> "" Then ##-->
'-------------------------------------------------------------------------------
' Function SetUpDisplayRecs
' - Set up Number of Records displayed per page based on Form element RecPerPage
' - Variables setup: nDisplayRecs
Sub SetUpDisplayRecs()
Dim sWrk
sWrk = Request.QueryString(ewTblRecPerPage)
If sWrk <> "" Then
If IsNumeric(sWrk) Then
nDisplayRecs = CInt(sWrk)
Else
If LCase(sWrk) = "all" Then ' Display All Records
nDisplayRecs = -1
Else
nDisplayRecs = <!--##=iRecPerPage##--> ' Non-numeric, Load Default
End If
End If
Session(ewSessionTblRecPerPage) = nDisplayRecs ' Save to Session
' Reset Start Position (Reset Command)
nStartRec = 1
Session(ewSessionTblStartRec) = nStartRec
Else
If Session(ewSessionTblRecPerPage) <> "" Then
nDisplayRecs = Session(ewSessionTblRecPerPage) ' Restore from Session
Else
nDisplayRecs = <!--##=iRecPerPage##--> ' Load Default
End If
End If
End Sub
<!--## End If ##-->
<!--##
If bMasterTableExist Then
Set MASTERTABLE = DB.Tables(TABLE.TblMasterTbl)
##-->
'-------------------------------------------------------------------------------
' Function SetUpMasterDetail
' - Set up Master Detail criteria based on querystring parameter showmaster
' - Variables setup: sDbWhereMaster, Session(TblMasterWhere), sDbWhereDetail, Session(TblDetailWhere)
Sub SetUpMasterDetail()
' Get the keys for master table
If Request.QueryString(ewTblShowMaster).Count > 0 Then
' Reset start record counter (new master key)
nStartRec = 1
Session(ewSessionTblStartRec) = nStartRec
sDbWhereMaster = ewSqlMasterFilter
sDbWhereDetail = ewSqlDetailFilter
<!--##
For i = 0 to UBound(arDetailFlds)
Set FIELD = TABLE.Fields(arDetailFlds(i))
sDetailFldVar = FIELD.FldVar
sDetailFldVar2 = Mid(sDetailFldVar, 3)
##-->
<!--##=sDetailFldVar##--> = Request.QueryString("<!--##=sDetailFldVar2##-->") ' Load Parameter from QueryString
<!--## If ewGetFieldType(FIELD.FldType) = 1 Then ##-->
If IsNumeric(<!--##=sDetailFldVar##-->) Then
<!--## End If ##-->
sDbWhereMaster = Replace(sDbWhereMaster, "@<!--##=sDetailFldVar2##-->", AdjustSql(<!--##=sDetailFldVar##-->)) ' Replace key value
sDbWhereDetail = Replace(sDbWhereDetail, "@<!--##=sDetailFldVar2##-->", AdjustSql(<!--##=sDetailFldVar##-->)) ' Replace key value
Session(ewSessionTblMasterKey & "_<!--##=sDetailFldVar2##-->") = <!--##=sDetailFldVar##--> ' Save Master Key Value
<!--## If ewGetFieldType(FIELD.FldType) = 1 Then ##-->
Else
sDbWhereMaster = "0=1":sDbWhereDetail = "0=1"
End If
<!--## End If ##-->
<!--##
Next
##-->
Session(ewSessionTblMasterWhere) = sDbWhereMaster
Session(ewSessionTblDetailWhere) = sDbWhereDetail
Else
sDbWhereMaster = Session(ewSessionTblMasterWhere)
sDbWhereDetail = Session(ewSessionTblDetailWhere)
End If
End Sub
<!--## End If ##-->
<!--## If TABLE.TblInlineEdit Then ##-->
'-------------------------------------------------------------------------------
' Function SetUpInlineEdit
' - Set up Inline Edit parameters based on querystring parameters
' - Variables setup: sAction, Session(TblKeyName)
Sub SetUpInlineEdit()
Dim bInlineEdit
' Get the keys for master table
If Request.QueryString("a").Count > 0 Then
sAction = Request.QueryString("a")
If LCase(sAction) = "edit" Then ' Change to Inline Edit Mode
<!--## If bUserLevel Then ##-->
If (ewCurSec And ewAllowEdit) <> ewAllowEdit Then Response.Redirect "<!--##=fn_login##-->"
<!--## End If ##-->
bInlineEdit = True
<!--##
For i = 1 to TABLE.Fields.Count
Set WRKFIELD = TABLE.Fields.Seq(i)
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
If WRKFIELD.FldIsPrimaryKey Then
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
##-->
If Request.QueryString("<!--##=sFldVar2##-->").Count > 0 Then
<!--##=sFldVar##--> = Request.QueryString("<!--##=sFldVar2##-->")
Else
bInlineEdit = False
End If
<!--##
End If
Next
##-->
If bInlineEdit Then
If LoadData() Then
<!--##
For i = 1 to TABLE.Fields.Count
Set WRKFIELD = TABLE.Fields.Seq(i)
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
If WRKFIELD.FldIsPrimaryKey Then
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
##-->
Session(ewSessionTblKey & "_<!--##=sFldVar2##-->") = <!--##=sFldVar##--> ' Set up Inline Edit key
<!--##
End If
Next
##-->
End If
End If
ElseIf LCase(sAction) = "cancel" Then ' Switch out of Inline Edit Mode
<!--##
For i = 1 to TABLE.Fields.Count
Set WRKFIELD = TABLE.Fields.Seq(i)
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
If WRKFIELD.FldIsPrimaryKey Then
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
##-->
Session(ewSessionTblKey & "_<!--##=sFldVar2##-->") = "" ' Clear Inline Edit key
<!--##
End If
Next
##-->
End If
Else
<!--##
If ewCond_HasFileField() Then ' Blob Field Exists
##-->
If RequestBlobData() Then
'sAction = sAction ' Set Up Action
End If
If LCase(sAction) = "update" Then ' Update Record
<!--##
Else ' No Blob Field
##-->
sAction = Request.Form("a_list")
If LCase(sAction) = "update" Then ' Update Record
' Get fields from form
<!--##
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
##-->
<!--##=FIELD.FldVar##--> = Request.Form("<!--##=FIELD.FldVar##-->")
<!--##
Next
End If
##-->
If <!--##=InlineEditKeyCheck##--> Then
If InlineEditData() Then
Session(ewSessionMessage) = "<!--##@EditSuccess##-->"
End If
End If
End If
<!--##
For i = 1 to TABLE.Fields.Count
Set WRKFIELD = TABLE.Fields.Seq(i)
If WRKFIELD.FldIsPrimaryKey Then
sFldVar = WRKFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
##-->
Session(ewSessionTblKey & "_<!--##=sFldVar2##-->") = "" ' Clear Inline Edit key
<!--##
End If
Next
##-->
End If
End Sub
<!--## End If ##-->
<!--## If bExtendedBasicSearch Or bAdvancedSearch Then ##-->
'-------------------------------------------------------------------------------
' Function SetUpAdvancedSearch
' - Set up Advanced Search parameter based on querystring parameters from Advanced Search Page
' - Variables setup: sSrchAdvanced
Sub SetUpAdvancedSearch()
Dim arrFldOpr, arrFldOpr2, sSrchStr
<!--##
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
If FIELD.FldGenerate And (FIELD.FldSearch Or FIELD.FldExtendedBasicSearch) And FIELD.FldHtmlTag <> "FILE" Then
sFldVar = FIELD.FldVar
sFldOpr = "z_" & Mid(sFldVar, 3)
sFldCond = "v_" & Mid(sFldVar, 3)
sFldVar2 = "y_" & Mid(sFldVar, 3)
sFldOpr2 = "w_" & Mid(sFldVar, 3)
sFldName = ewFieldName()
sFldSrchOpr = FIELD.FldSrchOpr
sFldSrchOpr2 = FIELD.FldSrchOpr2
If ewGetFieldType(FIELD.FldType) = 2 Then
sSrchFld = "EW_UnFormatDateTime(" & sFldVar & ", " & FIELD.FldDtFormat & ")"
sSrchFld2 = "EW_UnFormatDateTime(" & sFldVar2 & ", " & FIELD.FldDtFormat & ")"
Else
sSrchFld = sFldVar
sSrchFld2 = sFldVar2
End If
If ewGetFieldType(FIELD.FldType) = 1 Then
sNumericFldCond = "And IsNumeric(" & sFldVar & ") "
sNumericFldCond2 = "And IsNumeric(" & sFldVar2 & ") "
Else
sNumericFldCond = ""
sNumericFldCond2 = ""
End If
##-->
' Field <!--##=FIELD.FldName##-->
sSrchStr = ""
<!--##=sFldVar##--> = Request.QueryString("<!--##=sFldVar##-->")
<!--##=sFldOpr##--> = Request.QueryString("<!--##=sFldOpr##-->")
<!--## If sFldSrchOpr2 <> "" Then ##-->
<!--##=sFldCond##--> = Request.QueryString("<!--##=sFldCond##-->")
If <!--##=sFldCond##--> = "" Then <!--##=sFldCond##--> = Session(ewSessionTblAdvSrch & "_<!--##=sFldCond##-->")
<!--## End If ##-->
<!--## If sFldSrchOpr = "BETWEEN" Or sFldSrchOpr2 <> "" Then ##-->
<!--##=sFldVar2##--> = Request.QueryString("<!--##=sFldVar2##-->")
<!--##=sFldOpr2##--> = Request.QueryString("<!--##=sFldOpr2##-->")
<!--## End If ##-->
arrFldOpr = Split(<!--##=sFldOpr##-->, ",")
<!--## If sFldSrchOpr = "BETWEEN" Then ##-->
If <!--##=sFldVar##--> <> "" <!--##=sNumericFldCond##-->And <!--##=sFldVar2##--> <> "" <!--##=sNumericFldCond2##-->And IsValidOpr(arrFldOpr) Then
sSrchStr = sSrchStr & "<!--##=Quote(sFldName)##--> BETWEEN " & _
arrFldOpr(1) & AdjustSql(<!--##=sSrchFld##-->) & arrFldOpr(2) & " AND " & _
arrFldOpr(1) & AdjustSql(<!--##=sSrchFld2##-->) & arrFldOpr(2)
End If
<!--## Else ##-->
If <!--##=sFldVar##--> <> "" <!--##=sNumericFldCond##-->And IsValidOpr(arrFldOpr) Then
sSrchStr = sSrchStr & "<!--##=Quote(sFldName)##--> " & arrFldOpr(0) & " " & _
arrFldOpr(1) & AdjustSql(<!--##=sSrchFld##-->) & arrFldOpr(2)
End If
<!--## If sFldSrchOpr2 <> "" Then ##-->
arrFldOpr2 = Split(<!--##=sFldOpr2##-->, ",")
If <!--##=sFldVar2##--> <> "" <!--##=sNumericFldCond2##-->And IsValidOpr(arrFldOpr2) Then
If sSrchStr <> "" Then sSrchStr = sSrchStr & " " & ewIIf(<!--##=sFldCond##-->="OR", "OR", "AND") & " "
sSrchStr = sSrchStr & "<!--##=Quote(sFldName)##--> " & arrFldOpr2(0) & " " & _
arrFldOpr2(1) & AdjustSql(<!--##=sSrchFld2##-->) & arrFldOpr2(2)
End If
<!--## End If ##-->
<!--## End If ##-->
If sSrchStr <> "" Then
If sSrchAdvanced <> "" Then sSrchAdvanced = sSrchAdvanced & " AND "
sSrchAdvanced = sSrchAdvanced & "(" & sSrchStr & ")"
End If
<!--##
End If
Next
##-->
If sSrchAdvanced <> "" Then ' save settings
<!--##
For j = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(j)
If FIELD.FldGenerate And (FIELD.FldSearch Or FIELD.FldExtendedBasicSearch) And FIELD.FldHtmlTag <> "FILE" Then
sFldVar = FIELD.FldVar: sFldOpr = "z_" & Mid(sFldVar, 3)
sFldCond = "v_" & Mid(sFldVar, 3)
sFldVar2 = "y_" & Mid(sFldVar, 3): sFldOpr2 = "w_" & Mid(sFldVar, 3)
sFldSrchOpr = FIELD.FldSrchOpr
sFldSrchOpr2 = FIELD.FldSrchOpr2
##-->
Session(ewSessionTblAdvSrch & "_<!--##=sFldVar##-->") = <!--##=sFldVar##-->
<!--## If sFldSrchOpr = "USER SELECT" Then ##-->
Session(ewSessionTblAdvSrch & "_<!--##=sFldOpr##-->") = <!--##=sFldOpr##-->
<!--## End If ##-->
<!--## If sFldSrchOpr = "BETWEEN" Or sFldSrchOpr2 <> "" Then ##-->
Session(ewSessionTblAdvSrch & "_<!--##=sFldCond##-->") = <!--##=sFldCond##-->
Session(ewSessionTblAdvSrch & "_<!--##=sFldVar2##-->") = <!--##=sFldVar2##-->
<!--## If sFldSrchOpr2 = "USER SELECT" Then ##-->
Session(ewSessionTblAdvSrch & "_<!--##=sFldOpr2##-->") = <!--##=sFldOpr2##-->
<!--## End If ##-->
<!--## End If ##-->
<!--##
End If
Next
##-->
End If
End Sub
' Function to check if the search operators are valid
Function IsValidOpr(arOpr)
Dim Opr
IsValidOpr = IsArray(arOpr)
If IsValidOpr Then IsValidOpr = (UBound(arOpr) >= 2)
If IsValidOpr Then
For Each Opr In arOpr
Opr = UCase(Trim(Opr))
If Not (Opr = "=" Or Opr = "<" Or Opr = "<=" Or _
Opr = ">" Or Opr = ">=" Or Opr = "<>" Or _
Opr = "LIKE" Or Opr = "NOT LIKE" Or Opr = "BETWEEN" Or _
Opr = "'" Or Opr = "'%" Or Opr = "%'" Or Opr = "#" Or Opr = "") Then
IsValidOpr = False
Exit For
End If
Next
End If
End Function
<!--## End If ##-->
<!--## If bBasicSearch Then ##-->
'-------------------------------------------------------------------------------
' Function BasicSearchSQL
' - Build WHERE clause for a keyword
Function BasicSearchSQL(Keyword)
Dim sKeyword
sKeyword = AdjustSql(Keyword)
BasicSearchSQL = ""
<!--##
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
sFldName = ewFieldName()
If FIELD.FldGenerate And FIELD.FldBasicSearch Then
If ewGetFieldType(FIELD.FldType) = 1 Then ' Numeric fields
##-->
If IsNumeric(sKeyword) Then BasicSearchSQL = BasicSearchSQL & "<!--##=Quote(sFldName)##--> = " & sKeyword & " OR "
<!--##
Else
##-->
BasicSearchSQL = BasicSearchSQL & "<!--##=Quote(sFldName)##--> LIKE '%" & sKeyword & "%' OR "
<!--##
End If
End If
Next
##-->
If Right(BasicSearchSQL, 4) = " OR " Then BasicSearchSQL = Left(BasicSearchSQL, Len(BasicSearchSQL)-4)
End Function
'-------------------------------------------------------------------------------
' Function SetUpBasicSearch
' - Set up Basic Search parameter based on form elements pSearch & pSearchType
' - Variables setup: sSrchBasic
Sub SetUpBasicSearch()
Dim arKeyword, sKeyword
psearch = Request.QueryString(ewTblBasicSrch)
psearchtype = Request.QueryString(ewTblBasicSrchType)
If psearch <> "" Then
If psearchtype <> "" Then
While InStr(psearch, " ") > 0
sSearch = Replace(psearch, " ", " ")
Wend
arKeyword = Split(Trim(psearch), " ")
For Each sKeyword In arKeyword
sSrchBasic = sSrchBasic & "(" & BasicSearchSQL(sKeyword) & ") " & psearchtype & " "
Next
Else
sSrchBasic = BasicSearchSQL(psearch)
End If
End If
If Right(sSrchBasic, 4) = " OR " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-4)
If Right(sSrchBasic, 5) = " AND " Then sSrchBasic = Left(sSrchBasic, Len(sSrchBasic)-5)
If psearch <> "" then
Session(ewSessionTblBasicSrch) = psearch
Session(ewSessionTblBasicSrchType) = psearchtype
End If
End Sub
<!--## End If ##-->
'-------------------------------------------------------------------------------
' Function ResetSearch
' - Clear all search parameters
'
Sub ResetSearch()
' Clear search where
sSrchWhere = ""
Session(ewSessionTblSearchWhere) = sSrchWhere
' Clear advanced search parameters
<!--##
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
If FIELD.FldGenerate And (FIELD.FldSearch Or FIELD.FldExtendedBasicSearch) And FIELD.FldHtmlTag <> "FILE" Then
sFldVar = FIELD.FldVar: sFldOpr = "z_" & Mid(sFldVar, 3)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -