📄 list-script.asp
字号:
<!--##session aspheader##-->
<!--##
bBasicSearch = False
bExtendedBasicSearch = False
bAdvancedSearch = False
If TABLE.TblSrchType = "BASIC" Or TABLE.TblSrchType = "BOTH" Then
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
If FIELD.FldGenerate Then
If FIELD.FldBasicSearch And FIELD.FldList Then
bBasicSearch = True
End If
If FIELD.FldExtendedBasicSearch Then
bExtendedBasicSearch = True
End If
End If
If bBasicSearch And bExtendedBasicSearch Then Exit For
Next
End If
If TABLE.TblSrchType = "ADVANCED" Or TABLE.TblSrchType = "BOTH" Then
For i = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(i)
If FIELD.FldGenerate And FIELD.FldSearch Then
bAdvancedSearch = True
Exit For
End If
Next
End If
If iSortType = 2 Then
sJsSort = " onMouseDown=""ewsort(event, this.href);"""
Else
sJsSort = ""
End If
If bExportHtml Or bExportWord Or bExportExcel Then
sExpStart = "<% If sExport = """" Then %>"
sExpEnd = "<% End If %>"
Else
sExpStart = ""
sExpEnd = ""
End If
' Support selected row color
If iRecPerRow < 1 And PROJ.HighlightColor <> "" Then
sListTableId = " id=""ewlistmain"""
sInlineEditEvent = "this.edit=true;"
sMouseOverEvent = "ew_mouseover(this);"
sMouseOutEvent = "ew_mouseout(this);"
sMouseClickEvent = "ew_click(this);"
sMouseClickDeleteEvent = "ew_clickdelete();"
sMouseClickMultiDeleteEvent = "ew_clickmultidelete(this);"
sListTrJs = " onmouseover='" & sMouseOverEvent & "' onmouseout='" & sMouseOutEvent & "' onclick='" & sMouseClickEvent & "'"
sListTrJsEdit = " onmouseover='" & sInlineEditEvent & sMouseOverEvent & "' onmouseout='" & sMouseOutEvent & "' onclick='" & sMouseClickEvent & "'"
Else
sListTableId = ""
sInlineEditEvent = ""
sMouseOverEvent = ""
sMouseOutEvent = ""
sMouseClickEvent = ""
sMouseClickDeleteEvent = ""
sMouseClickMultiDeleteEvent = ""
sListTrJs = ""
sListTrJsEdit = ""
End If
##-->
<%
<!--## If Not PROJ.OptionExplicit Then ##-->
nStartRec = 0
nStopRec = 0
nTotalRecs = 0
nRecCount = 0
nRecActual = 0
sDbWhereMaster = ""
sDbWhereDetail = ""
sSrchAdvanced = ""
psearch = ""
psearchtype = ""
sSrchBasic = ""
sSrchWhere = ""
sDbWhere = ""
sOrderBy = ""
sSqlMaster = ""
<!--## Else ##-->
Dim nDisplayRecs, nRecRange
Dim nRecPerRow
Dim nStartRec, nStopRec, nTotalRecs, nRecCount, nRecActual
Dim sDbWhereMaster, sDbWhereDetail
Dim sSrchAdvanced
Dim psearch
Dim psearchtype
Dim sSrchBasic
Dim sSrchWhere
Dim sDbWhere
Dim sOrderBy
Dim sSqlMaster
Dim sItemRowClass
Dim sListTrJs
Dim bEditRow, nEditRowCnt
Dim sDeleteConfirmMsg
<!--## End If ##-->
<!--##
If bInlineDelete Then
If bMultiDelete Then
##-->
sDeleteConfirmMsg = "<!--##@DeleteMultiConfirmMsg##-->"
<!--##
Else
##-->
sDeleteConfirmMsg = "<!--##@DeleteConfirmMsg##-->"
<!--##
End If
End If
If bMasterTableExist Then
If Not PROJ.OptionExplicit Then
##-->
bMasterRecordExist = False
<!--##
Else
##-->
Dim bMasterRecordExist
<!--##
End If
Set MASTERTABLE = DB.Tables(TABLE.TblMasterTbl)
For i = 1 to MASTERTABLE.Fields.Count
bDimFld = True
Set FIELD = MASTERTABLE.Fields.Seq(i)
sFldVar = FIELD.FldVar
sSrchFldOpr = "y_" & Mid(sFldVar, 3)
sSrchFldVar = "z_" & Mid(sFldVar, 3)
For j = 1 to TABLE.Fields.Count
Set DETAILFIELD = TABLE.Fields.Seq(j)
If sFldVar = DETAILFIELD.FldVar Then ' already DIM, ignore
bDimFld = False
Exit For
End If
Next
If bDimFld Then
If Not PROJ.OptionExplicit Then
##-->
<!--##=sFldVar##--> = Null: o<!--##=sFldVar##--> = Null
<!--##
Else
##-->
Dim <!--##=sFldVar##-->, o<!--##=sFldVar##-->, <!--##=sSrchFldOpr##-->, <!--##=sSrchFldVar##-->, ar_<!--##=sFldVar##-->, ari_<!--##=sFldVar##-->, lst_<!--##=sFldVar##-->, chk_<!--##=sFldVar##-->, cbo_<!--##=sFldVar##-->_js
<!--##
If FIELD.FldHtmlTag = "FILE" Then
##-->
Dim fs_<!--##=sFldVar##-->, fn_<!--##=sFldVar##-->, ct_<!--##=sFldVar##-->, wd_<!--##=sFldVar##-->, ht_<!--##=sFldVar##-->, a_<!--##=sFldVar##-->
<!--##
End If
End If
End If
Next
End If
##-->
nDisplayRecs = <!--##=iRecPerPage##-->
nRecRange = 10
<!--## If sRecPerPageList <> "" Then ##-->
' Set up records per page dynamically
SetUpDisplayRecs()
<!--## End If ##-->
<!--## If iRecPerRow >= 1 Then ##-->
' Multi Column
nRecPerRow = <!--##=iRecPerRow##-->
<!--## End If ##-->
' Open connection to the database
Set conn = Server.CreateObject("ADODB.Connection")
<!--## If InStr(1,DB.DBDBMSName,"ORA",vbTextCompare) > 0 And TABLE.TblBlob Then ##-->
' For Oracle database, use connection string for proper handling of BLOB field
xDb_Conn_Str = xDb_Conn_Str_Ora_Blob
<!--## End If ##-->
conn.Open xDb_Conn_Str
' Handle Reset Command
ResetCmd()
<!--## If bMasterTableExist Then ##-->
' Set Up Master Detail Parameters
SetUpMasterDetail()
<!--## End If ##-->
<!--## If TABLE.TblInlineEdit Then ##-->
' Set Up Inline Edit Parameters
sAction = ""
SetUpInlineEdit()
<!--## End If ##-->
<!--## If bAdvancedSearch Or bExtendedBasicSearch Then ##-->
' Get Search Criteria for Advanced Search
SetUpAdvancedSearch()
<!--## End If ##-->
<!--## If bBasicSearch Then ##-->
' Get Search Criteria for Basic Search
SetUpBasicSearch()
<!--## End If ##-->
<!--## If bBasicSearch Or bExtendedBasicSearch Or bAdvancedSearch Then ##-->
' Build Search Criteria
If sSrchAdvanced <> "" Then
If sSrchWhere <> "" Then sSrchWhere = sSrchWhere & " AND "
sSrchWhere = sSrchWhere & "(" & sSrchAdvanced & ")"
End If
If sSrchBasic <> "" Then
If sSrchWhere <> "" Then sSrchWhere = sSrchWhere & " AND "
sSrchWhere = sSrchWhere & "(" & sSrchBasic & ")"
End If
' Save Search Criteria
If sSrchWhere <> "" Then
Session(ewSessionTblSearchWhere) = sSrchWhere
nStartRec = 1 ' reset start record counter
Session(ewSessionTblStartRec) = nStartRec
Else
sSrchWhere = Session(ewSessionTblSearchWhere)
Call RestoreSearch()
<!--## If bShowBlankListPage Then ##-->
If sSrchWhere = "" Then
sSrchWhere = "0=101"
End If
<!--## End If ##-->
End If
<!--## End If ##-->
' Build Filter condition
sDbWhere = <!--##=Table_DefaultFilter##-->
<!--## If bUserLevel Then ##-->
If (ewCurSec And ewAllowList) <> ewAllowList Then
sDbWhere = "(0=1)"
End If
<!--## End If ##-->
<!--##
If (bTableHasUserIDFld Or bMasterTableHasUserIDFld) Then
##-->
If CurrentUserID <> "-1" And CurrentUserID <> "" Then ' Non system admin
<!--##
If bTableHasUserIDFld Then
If bParentUserID Then
##-->
sParentUserIDQuery = GetParentUserIDQuery(CurrentUserID)
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
If sParentUserIDQuery <> "" Then
'*** sDbWhere = sDbWhere & "((" & Replace(ewSqlUserIDFilter, "#UserID", AdjustSql(CurrentUserID)) & ") OR (" & sParentUserIDQuery & "))"
sDbWhere = sDbWhere & "((" & ewSqlUserIDFilter & ") OR (" & sParentUserIDQuery & "))"
Else
'*** sDbWhere = sDbWhere & Replace(ewSqlUserIDFilter, "#UserID", AdjustSql(CurrentUserID))
sDbWhere = sDbWhere & ewSqlUserIDFilter
End If
sDbWhere = Replace(sDbWhere, "#Key", "<!--##=Quote(sTableUserIDFldName)##-->")
sDbWhere = Replace(sDbWhere, "#UserID", AdjustSql(CurrentUserID))
<!--##
Else
##-->
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
'*** sDbWhere = sDbWhere & Replace(ewSqlUserIDFilter, "#UserID", AdjustSql(CurrentUserID))
sDbWhere = sDbWhere & ewSqlUserIDFilter
sDbWhere = Replace(sDbWhere, "#Key", "<!--##=Quote(sTableUserIDFldName)##-->")
sDbWhere = Replace(sDbWhere, "#UserID", AdjustSql(CurrentUserID))
<!--##
End If
End If
If bMasterTableHasUserIDFld Then
##-->
sMasterUserIDQuery = GetMasterUserIDQuery(CurrentUserID)
If sMasterUserIDQuery <> "" Then
<!--##
If Not bUseSubQuery Then
##-->
If sDbWhereMaster <> "" Then
sTmpQuery = sMasterUserIDQuery
<!--##
For i = 0 to UBound(arMasterFldNames)
##-->
sTmpQuery = Replace(sTmpQuery, "#Key<!--##=i##-->", "<!--##=arMasterFldNames(i)##-->")
<!--##
Next
##-->
sDbWhereMaster = sDbWhereMaster & " AND " & sTmpQuery
End If
sTmpQuery = sMasterUserIDQuery
<!--##
For i = 0 to UBound(arDetailFldNames)
##-->
sTmpQuery = Replace(sTmpQuery, "#Key<!--##=i##-->", "<!--##=arDetailFldNames(i)##-->")
<!--##
Next
##-->
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
sDbWhere = sDbWhere & sTmpQuery
<!--##
Else
##-->
If sDbWhereMaster <> "" Then
<!--##
For i = 0 to UBound(arMasterFldNames)
##-->
sTmpQuery = sMasterUserIDQuery
sTmpQuery = Replace(sTmpQuery, "#MasterKey", "<!--##=arMasterFldNames(i)##-->")
sTmpQuery = Replace(sTmpQuery, "#Key", "<!--##=arMasterFldNames(i)##-->")
sDbWhereMaster = sDbWhereMaster & " AND " & sTmpQuery
<!--##
Next
##-->
End If
<!--##
For i = 0 to UBound(arMasterFldNames)
##-->
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
sTmpQuery = sMasterUserIDQuery
sTmpQuery = Replace(sTmpQuery, "#MasterKey", "<!--##=arMasterFldNames(i)##-->")
sTmpQuery = Replace(sTmpQuery, "#Key", "<!--##=arDetailFldNames(i)##-->")
sDbWhere = sDbWhere & sTmpQuery
<!--##
Next
End if
##-->
End If
<!--##
End If
##-->
End If
<!--##
End If
##-->
If sDbWhereDetail <> "" Then
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
sDbWhere = sDbWhere & "(" & sDbWhereDetail & ")"
End If
If sSrchWhere <> "" Then
If sDbWhere <> "" Then sDbWhere = sDbWhere & " AND "
sDbWhere = sDbWhere & "(" & sSrchWhere & ")"
End If
' Set Up Sorting Order
sOrderBy = ""
SetUpSortOrder()
' Set up SQL
sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sDbWhere, sOrderBy)
'Response.Write sSql ' Uncomment to show SQL for debugging
<!--##
If bMasterTableExist Then
Set DETAILTABLE = TABLE ' Save current table
Set TABLE = MASTERTABLE
##-->
' Build Master Record SQL
If sDbWhereMaster <> "" Then
sSqlMaster = ewBuildSql(ewSqlMasterSelect, ewSqlMasterWhere, ewSqlMasterGroupBy, ewSqlMasterHaving, ewSqlMasterOrderBy, sDbWhereMaster, "")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = <!--##=ewCursorLocation##-->
rs.Open sSqlMaster, conn
bMasterRecordExist = (Not rs.Eof)
If Not bMasterRecordExist Then
Session(ewSessionTblMasterWhere) = ""
Session(ewSessionTblDetailWhere) = ""
Session(ewSessionMessage) = "<!--##@NoRecord##-->"
conn.Close ' Close Connection
Set conn = Nothing
Response.Redirect "<!--##=fn_list##-->"
End If
End If
<!--##
Set TABLE = DETAILTABLE ' Restore current table
End If
##-->
<!--## If bExportXml Or bExportCsv Then ##-->
' Export Data only
If sExport = "xml" Or sExport = "csv" Then
Call ExportData(sExport, sSql)
conn.Close ' Close Connection
Set conn = Nothing
Response.End
End If
<!--## End If ##-->
%>
<!--##/session##-->
<!--##session htmtable##-->
<!--## If bMasterTableExist Then ##-->
<%
If sDbWhereMaster <> "" Then
If bMasterRecordExist Then %>
<!--##
Set MASTERTABLE = DB.Tables(TABLE.TblMasterTbl)
'Save Current Table
Set DETAILTABLE = TABLE
Set TABLE = MASTERTABLE
##-->
<p><span class="aspmaker"><!--##@MasterRecord##-->: <!--##=TABLE.TblCaption##-->
<!--##=sExpStart##-->
<br><a href="<!--##=fn_list##-->"><!--##@BackToMasterPage##--></a></span>
<!--##=sExpEnd##-->
</p>
<table<!--##=ewCSSTableClass##-->>
<tr<!--##=ewCSSTableHeaderClass##-->>
<!--##
For j = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(j)
If FIELD.FldGenerate And FIELD.FldList Then
##-->
<td valign="top"<!--##=FieldTD_Header##-->><span<!--##=ewCSSCaptionSpanClass##-->><!--##=FIELD.FldCaption##--></span></td>
<!--##
End If
Next
##-->
</tr>
<tr<!--##=ewCSSSelectClass##-->>
<%
<!--##
For j = 1 to TABLE.Fields.Count
Set FIELD = TABLE.Fields.Seq(j)
If FIELD.FldIsPrimaryKey Or FIELD.FldGenerate Then
##-->
<!--##=FIELD.FldVar##--> = rs("<!--##=FIELD.FldName##-->")
<!--## If FIELD.FldType = 18 Or FIELD.FldType = 19 Then ##-->
<!--##=FIELD.FldVar##--> = ewConv(<!--##=FIELD.FldVar##-->, <!--##=FIELD.FldType##-->) ' Convert adUnsignedSmallInt/adUnsignedInt
<!--## End If ##-->
<!--##
End If
Next
##-->
%>
<!--##
For j = 1 to TABLE.Fields.Count
SET FIELD = TABLE.Fields.Seq(j)
If FIELD.FldGenerate And FIELD.FldList Then
##-->
<td<!--##=FieldTD_Item##-->><span<!--##=ewCSSItemSpanClass##-->><!--##=FieldView##--></span></td>
<!--##
End If
Next
##-->
</tr>
</table>
<br>
<!--##
' Restore Current Table
Set TABLE = DETAILTABLE
##-->
<%
End If
rs.Close
Set rs = Nothing
End If
%>
<!--## End If ##-->
<%
' Set up Record Set
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = <!--##=ewCursorLocation##-->
rs.Open sSql, conn, 1, 2
nTotalRecs = rs.RecordCount
If nDisplayRecs <= 0 Then ' Display All Records
nDisplayRecs = nTotalRecs
End If
nStartRec = 1
SetUpStartRec() ' Set Up Start Record Position
%>
<p><div class="export"><img src="images/module.gif">: <!--##=TABLE.TblCaption##-->
<!--## If bExportHtml Or bExportWord Or bExportExcel Or bExportXml Or bExportCsv Then ##-->
<!--##=sExpStart##-->
<!--## If bExportHtml Then ##-->
<a href="<!--##=fn_list##-->?export=html"><!--##@PrinterFriendly##--></a>
<!--## End If ##-->
<!--## If bExportExcel Then ##-->
<a href="<!--##=fn_list##-->?export=excel"><img src="images/icon_xls.gif" border="0"></a>
<!--## End If ##-->
<!--## If bExportWord Then ##-->
<a href="<!--##=fn_list##-->?export=word" title="<!--##@ExportToWord##-->"><img src="images/icon_doc.gif" border="0"></a>
<!--## End If ##-->
<!--## If bExportXml Then ##-->
<a href="<!--##=fn_list##-->?export=xml"><img src="images/icon_xml.gif" border="0"></a>
<!--## End If ##-->
<!--## If bExportCsv Then ##-->
<a href="<!--##=fn_list##-->?export=csv"><!--##@ExportToCsv##--></a>
<!--## End If ##-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -