Debido a que tengo un CMS relativamente maduro, nunca he renunciado a ASP. Siempre quise reescribirlo usando .net, pero esa es una historia para otro momento. jqGrid es un excelente marco DataGrid basado en jQuery, con el que todos deben estar familiarizados. Hay muy poca información basada en ASP en Internet. El formato de datos es json:
, una clase json para jqGrid: este código parece haber sido convertido de PHP en el foro del sitio web oficial. Lo guardamos como json.asp y pegamos el código:
Copie el código de código de la siguiente manera:
<%
respuesta.Charset=utf-8
'------------------------------------------------
'Clase JSONClass
'Convierte el resultado de la ejecución de la instrucción Select a JSON
'------------------------------------------------------
ClaseJSONClase
'Definir atributos de clase, el valor predeterminado es Privado
Dim SqlString 'usado para configurar Seleccionar
Dim JSON 'El nombre del objeto JSON devuelto
Dim DBConnection 'Objeto de conexión a la base de datos
'Métodos públicos que se pueden llamar externamente
Función pública GetJSON()
Rs tenues
retorno tenueStr
oscuro yo
tenue unoRegistro
'Obtener datos
Establecer Rs = Server.CreateObject (ADODB.Recordset)
Rs.open SqlString, conexión DB, 1,1
si página <> entonces
epage=cint(página)
si epage<1 entonces epage=1
si epage>rs.pagecount entonces epage=rs.pagecount
demás
epágina=1
terminar si
rs.pagesize = filas
rs.páginaabsoluta = epágina
'Generar cadena JSON
si Rs.eof=false y Rs.Bof=false entonces
returnStr={ total: & rs.pagecount &, página: & página &, registros: & rs.recordcount &, filas:[
para j=0 a rs.pagesize-1
si rs.bof o rs.eof entonces salga para
'------
'oneRecord = {id: & chr(34) &Rs.Fields(0).Valor&chr(34)&,celda:[& chr(34) &Rs.Fields(0).Valor&chr(34)&,
oneRecord = {id: & chr(34) &Rs.Fields(0).Valor&chr(34)&,celda:[& chr(34) &Rs.Fields(0).Valor&chr(34)&,
para i=1 a Rs.Fields.Count -1
'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Nombre&chr(34)&:
unRecord=unRecord & chr(34) &Rs.Fields(i).Value&chr(34) &,
Próximo
'Después de eliminar el último campo del registro,
unRegistro=izquierda(unRegistro,InStrRev(unRegistro,,)-1)
unRegistro=unRegistro & ]},
'-------------
returnStr=returnStr & oneRecord
Rs.MoverSiguiente
próximo
' Después de eliminar todas las matrices de registros,
returnStr=izquierda(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
terminar si
Rs.cerrar
establecer Rs = Nada
GetJSON=returnStr
Función final
'Método privado, usado en la clase.
Verificación de función privada()
Función final
'
Fin de clase
%>
2. Cree un archivo asp que muestre datos, como: list.asp, el código es el siguiente
Copie el código de código de la siguiente manera:
<!--#include file=conn.asp -->
<!--#include archivo=json.asp -->
<%
página oscura, filas, sidx, sord
página = solicitud.QueryString(página) 'página
filas = request.QueryString(filas) 'tamaño de página
sidx = request.QueryString(sidx) 'ordenar por ??
sord = solicitud.QueryString(sord)
si página = entonces página = 1 final si
si filas = entonces filas = 10 fin si
si sidx = entonces sidx = id fin si
si sord = entonces sord =asc fin si
Dim strSearchOn, strField, strFieldData, strSearchOper, strWhere
strSearchOn = Solicitud(_búsqueda)
Si (strSearchOn = verdadero) Entonces
strField = Solicitud (campo de búsqueda)
Si (strField = id O strField = Título O strField = NickName) Entonces
strFieldData = Solicitud (cadena de búsqueda)
strSearchOper = Solicitud(searchOper)
'construir donde
strDónde = Dónde & strCampo
Seleccione Caso strSearchOper
Caso bw: 'Empezar con
strFieldData = strFieldData & %
strDónde = strDónde & LIKE ' & strFieldData & '
Caso eq: 'Igual
Si (IsNumeric (strFieldData)) Entonces
strDonde = strDonde & = & strFieldData
Demás
strDonde = strDonde & = ' & strFieldData & '
Terminar si
Caso ne: 'No es igual
Si (IsNumeric (strFieldData)) Entonces
strDónde = strDónde & <> & strFieldData
Demás
strDónde = strDónde & <> '& strFieldData &'
Terminar si
Caso lt: 'Menos de
Si (IsNumeric (strFieldData)) Entonces
strDonde = strDonde & < & strFieldData
Demás
strDónde = strDónde & <'& strFieldData &'
Terminar si
Caso le: 'Menos o igual
Si (IsNumeric (strFieldData)) Entonces
strDonde = strDonde & <= & strFieldData
Demás
strDonde = strDonde & <= '& strFieldData &'
Terminar si
Caso gt: 'Mayor que
Si (IsNumeric (strFieldData)) Entonces
strDónde = strDónde & > & strFieldData
Demás
strDonde = strDonde & > '& strFieldData &'
Terminar si
Caso ge: 'Mayor o igual
Si (IsNumeric (strFieldData)) Entonces
strDonde = strDonde & >= & strFieldData
Demás
strDonde = strDonde & >= '& strFieldData &'
Terminar si
Nuevo caso: 'Termina con
strDónde = strDónde & LIKE '% & strFieldData & '
Caso cn: 'Contiene
strDónde = strDónde & LIKE '% & strFieldData & %'
Seleccionar fin
terminar si
Terminar si
servidor.ScriptTimeout=9000
atenuar un
establecer a = nueva clase JSON
a.Sqlstring=Seleccione ID, Título, Apodo, Contraseña, Última hora de inicio de sesión desde Admin&strDónde& &ordenar por & sidx & & sord
a.dbconnection=conexión
respuesta.Escribir(a.GetJSon())
conexión.cerrar()
establecer conexión = nada
%>
El código de búsqueda está cubierto en él. Esto básicamente implementa la lectura. En cuanto al archivo editurl en jqGrid, lo llamamos edit.asp.
Copie el código de código de la siguiente manera:
<%Opción explícita%>
<!--#include file=config.asp-->
<%
Dim strOper, strID, strNickName, strTitle, strPwd
strOper = Solicitud(operador)
strID = Reemplazar(Solicitud(Id),','')
strTitle = Reemplazar(Solicitud(Título),','')
strNickName = Reemplazar(Solicitud(Apodo),','')
strPwd = Reemplazar(Solicitud(Pwd),','')
Seleccionar operador de mayúsculas y minúsculas
Agregar caso: 'Agregar registro
strSQL = Insertar en Admin (Título, NickName, Contraseña, LastLoginTime) Valores('&strTitle&', '&strNickName&', '&strPwd&', Now())
Edición de caso: 'Editar registro
strSQL = Actualizar conjunto de administración /> Caso del: 'Eliminar registro
strSQL = Eliminar del administrador Donde id = &strID
Seleccionar fin
'respuesta.Escribir strSQL
Dim strSQL,rs
Llamar a OpenDB()
Establecer rs = Conn.Execute(strSQL)
Llamar a CloseDB()
%>
Este es el código frontend index.html
Copie el código de código de la siguiente manera:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transicional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html;charset=utf-8 />
<título>ASP_jqGrid_Test</título>
<enlace rel=tipo de hoja de estilo=text/css href=jquery-ui-1.7.2.custom.css/>
<enlace rel=tipo de hoja de estilo=texto/css href=jqgrid.css/>
<enlace rel=tipo de hoja de estilo=texto/css href=ui.multiselect.css/>
<tipo de script=text/javascript src=js/jquery.js></script>
<tipo de script=text/javascript src=js/cn.js></script>
<tipo de script=text/javascript src=js/jqGrid.js></script>
</cabeza>
<cuerpo>
<ID de tabla=DataGrid clase=desplazamiento></tabla>
<div id=clase de buscapersonas=estilo de desplazamiento=text-align:center;></div>
</cuerpo>
</html>
<tipo de script=texto/javascript>
jQuery(#DataGrid).jqGrid({
URL: 'lista.asp',
tipo de datos: json,
colNames:['ID','Cuenta de administrador','Apodo de administrador','Contraseña','Última hora de inicio de sesión'],
colModelo :[
{
nombre: 'Identificación',
índice: 'Identificación',
ancho: 50
},
{
nombre:'Título',
índice:'Título',
editable: verdadero,
reglas de edición:{
requerido: verdadero
}
},
{
nombre:'Apodo',
índice:'Apodo',
editable: verdadero,
reglas de edición:{
requerido: verdadero
}
},
{
nombre:'contraseña',
índice: 'contraseña',
editable: verdadero,
tipo de edición: 'contraseña',
oculto: verdadero,
opciones de edición:{
tamaño: 20
},
reglas de edición:{
editar oculto: verdadero
}
},
{
nombre: 'Última hora de inicio de sesión',
índice: 'Última hora de inicio de sesión',
alinear: 'derecha',
reglas de edición:{
requerido: verdadero
}
} ], título: Lista de administradores,
imgpath:'/imágenes',
selección múltiple: verdadero,
número de fila: 20,
Lista de filas: [10,20,30],
buscapersonas: jQuery('#buscapersonas'),
nombre de clasificación: 'Identificación',
registros de visualización: verdadero,
orden de clasificación:desc,
altura: 400,
ancho: 600,
URL de edición: editar.asp
});
$('#DataGrid').navGrid('#pager',{
actualizar: verdadero,
editar: verdadero,
agregar: verdadero,
del: cierto,
búsqueda: verdadero,
texto de búsqueda: buscar,
editar texto: cambiar, agregar texto: agregar, eliminar texto: eliminar
});
</script>
jqGrid, cosas buenas ~~