Поскольку у меня относительно зрелая CMS, я никогда не отказывался от ASP. Мне всегда хотелось переписать ее с использованием .net, но это история в другой раз. jqGrid — отличный фреймворк DataGrid, основанный на jQuery, с которым должен быть знаком каждый. В Интернете очень мало информации на основе ASP. Формат данных — json:
, класс json для jqGrid: похоже, этот код был преобразован из какого-то PHP на форуме официального сайта. Мы сохраняем его как json.asp и вставляем код:
Скопируйте код кода следующим образом:
<%
ответ.Charset=utf-8
'---------------------------------------
'Класс JSONClass
' Преобразуем результат выполнения оператора Select в JSON
'---------------------------------------------
КлассJSONClass
'Определить атрибуты класса, по умолчанию — Private
Dim SqlString 'используется для установки Select
Dim JSON 'Имя возвращаемого объекта JSON
Dim DBConnection 'Объект подключения к базе данных
'Публичные методы, которые можно вызывать извне
Открытая функция GetJSON()
тусклые рупии
тусклый возвратStr
тусклый я
dim oneЗапись
' Получить данные
Установить Rs= Server.CreateObject(ADODB.Recordset)
Rs.open SqlString,DBConnection,1,1
если страница<> тогда
epage=cint(страница)
если epage<1, то epage=1
если epage>rs.pagecount, то epage=rs.pagecount
еще
страница=1
конец, если
rs.pagesize = строки
rs.absolutepage = epage
' Генерируем строку JSON
если Rs.eof=false и Rs.Bof=false, то
returnStr={ total: & rs.pagecount &, page: & page &, Records: & rs.recordcount &, rows:[
от j=0 до rs.pagesize-1
если rs.bof или rs.eof, то выходим для
'------
'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)&,
для i=1 до Rs.Fields.Count -1
'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&:
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &,
Следующий
'После удаления последнего поля записи,
oneRecord=left(oneRecord,InStrRev(oneRecord,,)-1)
oneRecord=oneRecord & ]},
'-------------
returnStr=returnStr и oneRecord
Rs.MoveNext
следующий
' После удаления всех массивов записей,
returnStr=left(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
конец, если
рупийблизко
установить Rs=Ничего
GetJSON=returnStr
Конечная функция
'Частный метод, используемый в классе
Проверка частной функции()
Конечная функция
'
Конечный класс
%>
2. Создайте asp-файл, отображающий данные, например: list.asp, код следующий.
Скопируйте код кода следующим образом:
<!--#include file=conn.asp -->
<!--#include file=json.asp -->
<%
тусклая страница, строки, sidx, sord
страница = request.QueryString(страница) 'страница
rows = request.QueryString(rows) 'размер страницы
sidx = request.QueryString(sidx) 'упорядочить по ??
Сорд = запрос.QueryString(Сорд)
если страница= то страница = 1 конец если
если строки = то строки = 10 заканчиваются, если
если sidx = то sidx = id end if
если sord = то sord =asc end if
Dim strSearchOn, strField, strFieldData, strSearchOper, strWhere
strSearchOn = Запрос (_search)
Если (strSearchOn = true) Тогда
strField = Запрос (поле поиска)
Если (strField = id Или strField = Title Или strField = NickName) Тогда
strFieldData = Запрос (строка поиска)
strSearchOper = Запрос (searchOper)
'построить, где
strWhere = Где и strField
Выберите регистр strSearchOper
Случай b: «Начните с
стрFieldData = стрFieldData & %
strWhere = strWhere & LIKE ' & strFieldData & '
Случай eq : 'Равно
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & = & strFieldData
Еще
strWhere = strWhere & = ' & strFieldData & '
Конец, если
Случай ne: «Не равно»
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & <> & strFieldData
Еще
strWhere = strWhere & <> '& strFieldData &'
Конец, если
Случай lt: «Меньше чем
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & < & strFieldData
Еще
strWhere = strWhere & <'& strFieldData &'
Конец, если
Случай le: «Меньше или равно»
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & <= & strFieldData
Еще
strWhere = strWhere & <= '& strFieldData &'
Конец, если
Дело gt: «Больше, чем
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & > & strFieldData
Еще
strWhere = strWhere & > '& strFieldData &'
Конец, если
Случай ge: «Больше или равно»
Если(IsNumeric(strFieldData)) Тогда
strWhere = strWhere & >= & strFieldData
Еще
strWhere = strWhere & >= '& strFieldData &'
Конец, если
Дело ew: «Конец с
strWhere = strWhere & LIKE '% & strFieldData & '
Случай cn: 'Содержит
strWhere = strWhere & LIKE '% & strFieldData & %'
Конец выбора
Конец, если
Конец, если
server.ScriptTimeout=9000
затемнить
установить = новый JSONClass
a.Sqlstring=Выберите id, Должность, Псевдоним, Pwd, LastLoginTime от администратора&strWhere& &упорядочить по & sidx & & sord
a.dbconnection=подключение
ответ.Запись(a.GetJSon())
конн.закрыть()
установить соединение = ничего
%>
Код поиска скрыт в нем. По сути, это реализует чтение. Что касается файла editurl в jqGrid, мы называем его edit.asp. Код выглядит следующим образом:
Скопируйте код кода следующим образом:
<%Явный параметр%>
<!--#include file=config.asp-->
<%
Dim strOper, strID, strNickName, strTitle, strPwd
strOper = Запрос (опер)
strID = Заменить(Запрос(Идентификатор),','')
strTitle = Заменить(Запрос(Заголовок),','')
strNickName = Заменить(Запрос(Псевдоним),','')
strPwd = Заменить(Запрос(Pwd),','')
Выберите Case strOper
Добавление случая: 'Добавить запись
strSQL = Вставить в администраторские значения (заголовок, псевдоним, Pwd, LastLoginTime) ('&strTitle&', '&strNickName&', '&strPwd&',Now())
Редактирование дела: «Редактировать запись».
strSQL = Обновить набор администратора /> Case del: 'Удалить запись
strSQL = Удалить из администратора Где id = &strID
Конец выбора
'ответ. Напишите strSQL
Тусклый стрSQL,rs
ВызовOpenDB()
Установите rs = Conn.Execute(strSQL)
Вызов CloseDB()
%>
Это код интерфейса index.html.
Скопируйте код кода следующим образом:
<!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>
<голова>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<title>ASP_jqGrid_Test</title>
<link rel=тип таблицы стилей=text/css href=jquery-ui-1.7.2.custom.css/>
<link rel=тип таблицы стилей=text/css href=jqgrid.css/>
<link rel=тип таблицы стилей=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>
</голова>
<тело>
<table id=DataGrid class=scroll></table>
<div id=pager class=scroll style=text-align:center;></div>
</тело>
</html>
<тип сценария=текст/javascript>
jQuery(#DataGrid).jqGrid({
URL: 'list.asp',
тип данных: JSON,
colNames:['ID','Учетная запись администратора','Псевдоним администратора','Пароль','Время последнего входа в систему'],
colModel :[
{
имя: 'Идентификатор',
индекс: 'Идентификатор',
ширина: 50
},
{
имя: 'Название',
индекс: «Название»,
редактируемый: правда,
редактировать правила: {
требуется: правда
}
},
{
имя: 'Псевдоним',
индекс: 'Псевдоним',
редактируемый: правда,
редактировать правила: {
требуется: правда
}
},
{
имя: 'Pwd',
индекс: 'Pwd',
редактируемый: правда,
тип редактирования: 'пароль',
скрыто: правда,
варианты редактирования:{
размер: 20
},
редактировать правила: {
изменить скрыто: правда
}
},
{
имя: 'LastLoginTime',
индекс: 'LastLoginTime',
выровнять:'right',
редактировать правила: {
требуется: правда
}
} ], подпись:Список администраторов,
imgpath:'/изображения',
множественный выбор: правда,
номер строки: 20,
список строк:[10,20,30],
пейджер: jQuery('#pager'),
имя сортировки: 'Идентификатор',
просмотр записей: правда,
порядок сортировки: по убыванию,
высота:400,
ширина:600,
editurl:edit.asp
});
$('#DataGrid').navGrid('#pager',{
обновить: правда,
редактировать: правда,
добавить: правда,
дель: правда,
поиск: правда,
текст поиска: поиск,
edittext: изменить, addtext: добавить, deltext: удалить
});
</скрипт>
jqGrid, хорошая штука~~