Da ich ein relativ ausgereiftes CMS habe, habe ich ASP nie aufgegeben. Ich wollte es schon immer mit .net neu schreiben, aber das ist eine Geschichte für ein anderes Mal. jqGrid ist ein hervorragendes DataGrid-Framework, mit dem jeder vertraut sein muss. Im Internet gibt es nur sehr wenige Informationen. Das Datenformat ist json.
, eine JSON-Klasse für jqGrid: Dieser Code scheint aus etwas PHP im offiziellen Website-Forum konvertiert zu sein. Wir speichern ihn als json.asp und fügen den Code ein:
Kopieren Sie den Codecode wie folgt:
<%
Antwort.Charset=utf-8
'-------------------------
'JSONClass-Klasse
' Konvertieren Sie das Ausführungsergebnis der Select-Anweisung in JSON
'-----------------
KlasseJSONKlasse
'Klassenattribute definieren, Standard ist Privat
Dim SqlString 'wird zum Festlegen von Select verwendet
Dim JSON 'Der Name des zurückgegebenen JSON-Objekts
Dim DBConnection 'Verbindungsobjekt zur Datenbank
'Öffentliche Methoden, die extern aufgerufen werden können
Öffentliche Funktion GetJSON()
schwache Rs
dim returnStr
dim ich
dimmen Sie einen Datensatz
' Daten abrufen
Setze Rs= Server.CreateObject(ADODB.Recordset)
Rs.open SqlString,DBConnection,1,1
wenn Seite<> dann
epage=cint(Seite)
Wenn epage<1, dann ist epage=1
Wenn epage>rs.pagecount, dann epage=rs.pagecount
anders
epage=1
Ende wenn
rs.pagesize = Zeilen
rs.absolutepage = epage
'JSON-String generieren
wenn Rs.eof=false und Rs.Bof=false dann
returnStr={ total: & rs.pagecount &, Seite: & Seite &, Datensätze: & rs.recordcount &, Zeilen:[
für j=0 bis rs.pagesize-1
Wenn rs.bof oder rs.eof, dann beenden Sie für
'------
'oneRecord = {id: & chr(34) &Rs.Fields(0).Value&chr(34)&,cell:[& chr(34) &Rs.Fields(0).Value&chr(34)&,
oneRecord = {id: & chr(34) &Rs.Fields(0).Value&chr(34)&,cell:[& chr(34) &Rs.Fields(0).Value&chr(34)&,
für i=1 bis Rs.Fields.Count -1
'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&:
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &,
Nächste
'Nachdem das letzte Feld des Datensatzes entfernt wurde,
oneRecord=left(oneRecord,InStrRev(oneRecord,,)-1)
oneRecord=oneRecord & ]},
'-------------
returnStr=returnStr & oneRecord
Rs.MoveNext
nächste
'Nachdem alle Datensatz-Arrays entfernt wurden,
returnStr=left(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
Ende wenn
Rs.schließen
setze Rs=Nichts
GetJSON=returnStr
Funktion beenden
'Private Methode, wird in der Klasse verwendet
Private Funktionsprüfung()
Funktion beenden
'
Unterricht beenden
%>
2. Erstellen Sie eine ASP-Datei, die Daten anzeigt, z. B. list.asp. Der Code lautet wie folgt
Kopieren Sie den Codecode wie folgt:
<!--#include file=conn.asp -->
<!--#include file=json.asp -->
<%
Seite, Zeilen, Sidx, Sord dimmen
page = request.QueryString(page) 'Seite
rows = request.QueryString(rows) 'pagesize
sidx = request.QueryString(sidx) 'Reihenfolge nach ??
sord = request.QueryString(sord)
if page= then page = 1 end if
if rows = then rows = 10 end if
if sidx = then sidx = id end if
if sord = then sord =asc end if
Dimmen Sie strSearchOn, strField, strFieldData, strSearchOper, strWhere
strSearchOn = Request(_search)
Wenn (strSearchOn = true) Dann
strField = Request(searchField)
Wenn (strField = id Oder strField = Titel Oder strField = Spitzname) Dann
strFieldData = Request(searchString)
strSearchOper = Request(searchOper)
'konstruieren wo
strWhere = Wo & strField
Wählen Sie Case strSearchOper aus
Fall bw: „Beginnen mit
strFieldData = strFieldData & %
strWhere = strWhere & LIKE ' & strFieldData & '
Fallgleichung: 'Gleich
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & = & strFieldData
Anders
strWhere = strWhere & = ' & strFieldData & '
Ende wenn
Fallbeispiel: „Nicht gleich.“
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & <> & strFieldData
Anders
strWhere = strWhere & <> '& strFieldData &'
Ende wenn
Fall lt: „Weniger als.“
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & < & strFieldData
Anders
strWhere = strWhere & <'& strFieldData &'
Ende wenn
Fallbeispiel: „Weniger oder gleich.“
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & <= & strFieldData
Anders
strWhere = strWhere & <= '& strFieldData &'
Ende wenn
Fall gt: „Größer als.“
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & > & strFieldData
Anders
strWhere = strWhere & > '& strFieldData &'
Ende wenn
Fall ge: „Größer oder gleich.“
If(IsNumeric(strFieldData)) Then
strWhere = strWhere & >= & strFieldData
Anders
strWhere = strWhere & >= '& strFieldData &'
Ende wenn
Fall ew: 'Ende mit
strWhere = strWhere & LIKE '% & strFieldData & '
Fall cn: „Enthält
strWhere = strWhere & LIKE '% & strFieldData & %'
Endauswahl
Ende wenn
Ende wenn
server.ScriptTimeout=9000
dimmen a
setze a=neue JSONClass
a.Sqlstring=Wählen Sie id,Title,NickName,Pwd,LastLoginTime From Admin&strWhere& &order by & sidx & & ord aus
a.dbconnection=conn
Antwort.Write(a.GetJSon())
conn.close()
setze conn = nichts
%>
Der Suchcode ist darin abgedeckt. Dies implementiert im Grunde das Lesen der Editurl-Datei in jqGrid. Der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
<%Option Explicit%>
<!--#include file=config.asp-->
<%
Dimmen Sie strOper, strID, strNickName, strTitle, strPwd
strOper = Request(oper)
strID = Ersetzen(Request(Id),','')
strTitle = Ersetzen(Anfrage(Titel),','')
strNickName = Replacement(Request(NickName),','')
strPwd = Ersetzen(Request(Pwd),','')
Wählen Sie Case strOper
Fall hinzufügen: 'Datensatz hinzufügen
strSQL = In Admin einfügen (Titel, Spitzname, Pwd,LastLoginTime) Werte('&strTitle&', '&strNickName&', '&strPwd&',Now())
Fall bearbeiten: „Datensatz bearbeiten.“
strSQL = Admin-Set aktualisieren />Case del: 'Datensatz löschen
strSQL = Vom Administrator löschen Wobei id = &strID
Endauswahl
'response.StrSQL schreiben
Dimmen Sie strSQL,rs
CallOpenDB()
Setze rs = Conn.Execute(strSQL)
Rufen Sie CloseDB() auf
%>
Dies ist der Frontend-Code index.html
Kopieren Sie den Codecode wie folgt:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<Kopf>
<meta http-equiv=Content-Type content=text/html;
<title>ASP_jqGrid_Test</title>
<link rel=stylesheet type=text/css href=jquery-ui-1.7.2.custom.css/>
<link rel=stylesheet type=text/css href=jqgrid.css/>
<link rel=stylesheet type=text/css href=ui.multiselect.css/>
<script type=text/javascript src=js/jquery.js></script>
<script type=text/javascript src=js/cn.js></script>
<script type=text/javascript src=js/jqGrid.js></script>
</head>
<Körper>
<table id=DataGrid class=scroll></table>
<div id=pager class=scroll style=text-align:center;></div>
</body>
</html>
<script type=text/javascript>
jQuery(#DataGrid).jqGrid({
URL:'list.asp',
Datentyp: json,
colNames:['ID','Administratorkonto','Administrator-Spitzname','Passwort','Letzte Anmeldezeit'],
colModel :[
{
Name:'Id',
index:'Id',
Breite: 50
},
{
Name:'Titel',
index:'Titel',
editierbar: wahr,
Bearbeitungsregeln:{
erforderlich: wahr
}
},
{
name:'Spitzname',
index:'Spitzname',
editierbar: wahr,
Bearbeitungsregeln:{
erforderlich: wahr
}
},
{
Name:'Pwd',
index:'Pwd',
editierbar: wahr,
edittype:'password',
versteckt: wahr,
Bearbeitungsoptionen:{
Größe:20
},
Bearbeitungsregeln:{
edithidden:true
}
},
{
name:'LastLoginTime',
index:'LastLoginTime',
align:'right',
Bearbeitungsregeln:{
erforderlich: wahr
}
} ], Bildunterschrift:Administratorliste,
imgpath:'/images',
Mehrfachauswahl: wahr,
rowNum:20,
rowList:[10,20,30],
Pager: jQuery('#pager'),
Sortiername: 'Id',
Aufrufdatensätze: wahr,
Sortierreihenfolge:absteigend,
Höhe: 400,
Breite: 600,
editurl:edit.asp
});
$('#DataGrid').navGrid('#pager',{
aktualisieren: wahr,
edit: stimmt,
hinzufügen: wahr,
del: wahr,
Suche: wahr,
Suchtext:Suche,
edittext: ändern, addtext: hinzufügen, deltext: löschen
});
</script>
jqGrid, gutes Zeug~~