私は比較的成熟した CMS を持っているので、ASP を諦めたことはありません。ずっと .net を使用して書き換えたいと思っていましたが、その話はまた別の機会に。 jqGrid は jQuery に基づく優れた DataGrid フレームワークであり、インターネット上には ASP に基づく情報がほとんどありません。そのデータ形式は次のとおりです。
、jqGrid の json クラス: このコードは、公式 Web サイトのフォーラムにある PHP から変換されたようです。これを json.asp として保存し、コードを貼り付けます。
次のようにコードをコピーします。
<%
応答.Charset=utf-8
--------------------------------------------------
'JSONClassクラス
' Select文の実行結果をJSONに変換
-----------------------------------------------
クラスJSONクラス
'クラス属性を定義します。デフォルトはプライベートです
Dim SqlString ' を選択の設定に使用します
Dim JSON '返された JSON オブジェクトの名前
Dim DBConnection 'データベースへの接続オブジェクト
'外部から呼び出せるパブリックメソッド
パブリック関数 GetJSON()
薄暗いルピー
ディムリターンStr
薄暗い私
薄暗いレコード
' データを取得する
Set Rs= Server.CreateObject(ADODB.Recordset)
Rs.open SqlString,DBConnection,1,1
if page<> then
epage=cint(ページ)
epage<1 の場合、epage=1
epage>rs.pagecount の場合、epage=rs.pagecount
それ以外
eページ=1
終了する場合
rs.pagesize = 行数
rs.absolutepage = eページ
' JSON文字列を生成
Rs.eof=false かつ Rs.Bof=false の場合
returnStr={ 合計: & rs.pagecount &、ページ: & ページ &、レコード: & rs.recordcount &、行数:[
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.ムーブネクスト
次
' すべてのレコード配列を削除した後、
returnStr=left(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
終了する場合
閉じる
Rs=何も設定しない
GetJSON=returnStr
終了機能
'クラスで使用されるプライベート メソッド
プライベート関数 check()
終了機能
'
終了クラス
%>
2. データを表示する asp ファイル (list.asp など) を作成します。コードは次のとおりです。
次のようにコードをコピーします。
<!--#include file=conn.asp -->
<!--#include file=json.asp -->
<%
薄暗いページ、行、sidx、sord
ページ = request.QueryString(page) 'ページ
rows = request.QueryString(rows) 'ページサイズ
sidx = request.QueryString(sidx) '?? で並べ替えます
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
Dim strSearchOn、strField、strFieldData、strSearchOper、strWhere
strSearchOn = リクエスト(_search)
(strSearchOn = true) の場合
strField = リクエスト(検索フィールド)
If (strField = id または strField = タイトル または strField = ニックネーム) then
strFieldData = リクエスト(検索文字列)
strSearchOper = リクエスト(searchOper)
'どこで構築するか
strWhere = 場所 & strField
大文字と小文字を選択します。
ケース bw : 'で始まる
strFieldData = strFieldData & %
strWhere = strWhere & LIKE ' & strFieldData & '
Case eq : '等しい
If(IsNumeric(strFieldData)) then
strWhere = strWhere & = & strFieldData
それ以外
strWhere = strWhere & = ' & strFieldData & '
終了の場合
ケース ne: '等しくない
If(IsNumeric(strFieldData)) then
strWhere = strWhere & <> & strFieldData
それ以外
strWhere = strWhere & <> '& strFieldData &'
終了の場合
Case lt: 「未満」
If(IsNumeric(strFieldData)) then
strWhere = strWhere & < & strFieldData
それ以外
strWhere = strWhere & <'& strFieldData &'
終了の場合
ケースファイル: 「以下」または「等しい」
If(IsNumeric(strFieldData)) then
strWhere = strWhere & <= & strFieldData
それ以外
strWhere = strWhere & <= '& strFieldData &'
終了の場合
ケース gt: ' より大きい
If(IsNumeric(strFieldData)) then
strWhere = strWhere & > & strFieldData
それ以外
strWhere = strWhere & > '& strFieldData &'
終了の場合
ケース ge: 「以上」または「等しい」
If(IsNumeric(strFieldData)) then
strWhere = strWhere & >= & strFieldData
それ以外
strWhere = strWhere & >= '& strFieldData &'
終了の場合
事例 : 「で終わる」
strWhere = strWhere & LIKE '% & strFieldData & '
ケース cn : '次を含む
strWhere = strWhere & LIKE '% & strFieldData & %'
エンドセレクト
次の場合に終了
終了の場合
サーバー.スクリプトタイムアウト=9000
薄暗い
set a=new JSONClass
a.Sqlstring=ID、タイトル、ニックネーム、パスワード、最終ログイン時刻を管理者から選択&strWhere& &order by & sidx & & sord
a.dbconnection=conn
応答.Write(a.GetJSon())
conn.close()
conn = 何も設定しない
%>
検索コードはその中に含まれています。これは基本的に読み取りを実装します。jqGrid の editurl ファイルは edit.asp と呼ばれます。コードは次のとおりです。
次のようにコードをコピーします。
<%明示的なオプション%>
<!--#include file=config.asp-->
<%
ディム strOper、strID、strNickName、strTitle、strPwd
strOper = リクエスト(oper)
strID = Replace(リクエスト(Id),','')
strTitle = Replace(リクエスト(タイトル),','')
strNickName = Replace(リクエスト(ニックネーム),','')
strPwd = Replace(リクエスト(Pwd),','')
大文字と小文字の選択
ケースの追加: 'レコードの追加
strSQL = 管理者 (タイトル、ニックネーム、パスワード、最終ログイン時刻) 値に挿入 ('&strTitle&', '&strNickName&', '&strPwd&',Now())
ケース編集: 'レコードの編集
strSQL = 管理セットの更新 />ケース デル: 'レコードの削除
strSQL = 管理者から削除 id = &strID
エンドセレクト
'response.strSQL の書き込み
Dim strSQL,rs
CallOpenDB()
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;
<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>
<本文>
<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',
データ型: json、
ColNames:['ID','管理者アカウント','管理者ニックネーム','パスワード','最終ログイン時刻'],
列モデル:[
{
名前:「ID」、
インデックス:'ID',
幅:50
}、
{
名前:「タイトル」、
インデックス:'タイトル',
編集可能: true、
編集ルール:{
必須: true
}
}、
{
名前:「ニックネーム」、
インデックス:'ニックネーム',
編集可能: true、
編集ルール:{
必須: true
}
}、
{
名前:'Pwd'、
インデックス:'Pwd',
編集可能: true、
編集タイプ:'パスワード',
非表示: true、
編集オプション:{
サイズ:20
}、
編集ルール:{
編集非表示:true
}
}、
{
名前:'最終ログイン時刻',
インデックス:'最終ログイン時刻',
整列:'右',
編集ルール:{
必須: true
}
} ]、キャプション:管理者リスト、
imgpath:'/images',
複数選択: true、
行番号:20、
行リスト:[10,20,30],
ページャー: jQuery('#pager')、
ソート名: 'ID',
レコードの表示: true、
並べ替え順序:降順、
高さ:400、
幅:600、
editurl:edit.asp
});
$('#DataGrid').navGrid('#pager',{
更新: true、
編集:本当、
追加: true、
デル:本当です、
検索: true、
検索テキスト:検索、
edittext: 変更、addtext: 追加、deltext: 削除
});
</script>
jqGrid、いいですね~~