ASP 使用jqGrid实现读写删的代码(json)
ASP 使用jqGrid实现读写删的代码(json)
发布时间:2016-12-29 来源:查字典编辑
摘要:jqGrid是一个优秀的基于jQuery的DataGrid框架,想必大伙儿也不陌生,网上基于ASP的资料很少,我提供一个,数据格式是json...

jqGrid是一个优秀的基于jQuery的DataGrid框架,想必大伙儿也不陌生,网上基于ASP的资料很少,我提供一个,数据格式是json的:

、一个针对jqGrid的json类:这段代码似乎是由官网论坛的一些PHP中转化而来,我们存为json.asp,代码贴一下:

复制代码 代码如下:

<%

response.Charset="utf-8"

'---------------------------------------

' JSONClass类

' 将Select语句的执行结果转换成JSON

'------------------------------------------

Class JSONClass

' 定义类属性,默认为Private

Dim SqlString ' 用于设置Select

Dim JSON ' 返回的JSON对象的名称

Dim DBConnection ' 连接到数据库的Connection对象

' 可以外部调用的公共方法

Public Function GetJSON ()

dim Rs

dim returnStr

dim i

dim oneRecord

' 获取数据

Set Rs= Server.CreateObject("ADODB.Recordset")

Rs.open SqlString,DBConnection,1,1

if page<>"" then

epage=cint(page)

if epage<1 then epage=1

if epage>rs.pagecount then epage=rs.pagecount

else

epage=1

end if

rs.pagesize = rows

rs.absolutepage = epage

' 生成JSON字符串

if Rs.eof=false and Rs.Bof=false then

returnStr="{ total: "& rs.pagecount &", page: "& page &", records: "& rs.recordcount &", rows:["

for j=0 to rs.pagesize-1

if rs.bof or rs.eof then exit for

' -------

'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)&","

for i=1 to Rs.Fields.Count -1

'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Name&chr(34)&":"

oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &","

Next

'去除记录最后一个字段后的","

oneRecord=left(oneRecord,InStrRev(oneRecord,",")-1)

oneRecord=oneRecord & "]},"

'------------

returnStr=returnStr & oneRecord

Rs.MoveNext

next

' 去除所有记录数组后的","

returnStr=left(returnStr,InStrRev(returnStr,",")-1)

returnStr=returnStr & "]}"

end if

Rs.close

set Rs=Nothing

GetJSON=returnStr

End Function

'私用方法,在类中使用

Private Function check()

End Function

'

End Class

%>

2、制作显示数据的asp文件,如:list.asp,代码如下

复制代码 代码如下:

<>

<>

<%

dim page,rows,sidx,sord

page = request.QueryString("page") 'page

rows = request.QueryString("rows") 'pagesize

sidx = request.QueryString("sidx") 'order by ??

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 = Request("_search")

If (strSearchOn = "true") Then

strField = Request("searchField")

If (strField = "id" Or strField = "Title" Or strField = "NickName") Then

strFieldData = Request("searchString")

strSearchOper = Request("searchOper")

'construct where

strWhere = " Where " & strField

Select Case strSearchOper

Case "bw" : 'Begin With

strFieldData = strFieldData & "%"

strWhere = strWhere & " LIKE '" & strFieldData & "'"

Case "eq" : 'Equal

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " = " & strFieldData

Else

strWhere = strWhere & " = '" & strFieldData & "'"

End If

Case "ne": 'Not Equal

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " <> " & strFieldData

Else

strWhere = strWhere & " <> '"& strFieldData &"'"

End If

Case "lt": 'Less Than

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " <" & strFieldData

Else

strWhere = strWhere & " <'"& strFieldData &"'"

End If

Case "le": 'Less Or Equal

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " <= " & strFieldData

Else

strWhere = strWhere & " <= '"& strFieldData &"'"

End If

Case "gt": 'Greater Than

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " > " & strFieldData

Else

strWhere = strWhere & " > '"& strFieldData &"'"

End If

Case "ge": 'Greater Or Equal

If(IsNumeric(strFieldData)) Then

strWhere = strWhere & " >= " & strFieldData

Else

strWhere = strWhere & " >= '"& strFieldData &"'"

End If

Case "ew" : 'End With

strWhere = strWhere & " LIKE '%" & strFieldData & "'"

Case "cn" : 'Contains

strWhere = strWhere & " LIKE '%" & strFieldData & "%'"

End Select

End if

End If

server.ScriptTimeout=9000

dim a

set a=new JSONClass

a.Sqlstring="Select id,Title,NickName,Pwd,LastLoginTime From Admin"&strWhere&" "&"order by "& sidx & " " & sord

a.dbconnection=conn

response.Write(a.GetJSon())

conn.close()

set conn = nothing

%>

里面把搜索的代码涵盖了。这样基本实现了读,至于jqGrid中的editurl的文件,我们称其edit.asp,代码如下:

复制代码 代码如下:

<%Option Explicit%>

<>

<%

Dim strOper, strID, strNickName, strTitle, strPwd

strOper = Request("oper")

strID = Replace(Request("Id"),"'","''")

strTitle = Replace(Request("Title"),"'","''")

strNickName = Replace(Request("NickName"),"'","''")

strPwd = Replace(Request("Pwd"),"'","''")

Select Case strOper

Case "add": 'Add Record

strSQL = "Insert Into Admin (Title, NickName, Pwd,LastLoginTime) Values('"&strTitle&"', '"&strNickName&"', '"&strPwd&"',Now()) "

Case "edit": 'Edit Record

strSQL = "Update Admin Set Title = '"&strTitle&"', NickName = '"&strNickName&"', Pwd = '"&strPwd&"' Where id = "&strID

Case "del": 'Delete Record

strSQL = "Delete From Admin Where id = "&strID

End Select

'response.Write strSQL

Dim strSQL,rs

Call OpenDB()

Set rs = Conn.Execute(strSQL)

Call 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">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<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>

<body>

<table id="DataGrid"></table>

<div id="pager"></div>

</body>

</html>

<script type="text/javascript">

jQuery("#DataGrid").jqGrid({

url:'list.asp',

datatype: "json",

colNames:['ID','管理员账号','管理员昵称','密码','上次登录时间'],

colModel :[

{

name:'Id',

index:'Id',

width:50

},

{

name:'Title',

index:'Title',

editable:true,

editrules:{

required:true

}

},

{

name:'NickName',

index:'NickName',

editable:true,

editrules:{

required:true

}

},

{

name:'Pwd',

index:'Pwd',

editable:true,

edittype:'password',

hidden:true,

editoptions:{

size:20

},

editrules:{

edithidden:true

}

},

{

name:'LastLoginTime',

index:'LastLoginTime',

align:'right',

editrules:{

required:true

}

} ], caption:"管理员列表",

imgpath:'/images',

multiselect: true,

rowNum:20,

rowList:[10,20,30],

pager: jQuery('#pager'),

sortname: 'Id',

viewrecords: true,

sortorder: "desc",

height:400,

width:600,

editurl:"edit.asp"

});

$('#DataGrid').navGrid('#pager',{

refresh: true,

edit: true,

add: true,

del: true,

search: true,

searchtext:"搜",

edittext:"改",addtext:"添",deltext:"删"

});

</script>

jqGrid,好东西~~

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类