当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP模仿asp.net的DataGrid

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP模仿asp.net的DataGrid


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 164 ::
收藏到网摘: n/a

 

自动生成表格,自动完成删除,编辑、填加、分页功能,自定义样式表头样式

代码用两个类来实现

一开始考虑得太多,功能想得太强大,通用性越强,asp类跑起来越慢,做到后来没兴趣,还有很多功能没有完成,如字段类型验证,显示图片、控件等,帖出代码供大这一起学习研究,有兴趣的可以将这些功能加上

示例:

set a = new DataGrid
'a.Connstr="Provider=SQLOLEDB.1;User ID=sa;Password=servser;Initial Catalog=temp_blue;Data Source=server;Connect Timeout=30;Auto Translate=True;Packet Size=4096;"
a.Connstr="Provider=Microsoft.Jet.OLEDB.4.0;"&" Data Source="&server.mappath("test.mdb") '连接ACCSS字符串
a.SQLString="select * from table1" '生成datagrid所显示的记录集的sql语句
a.isAddnew = 1 '是否可以填加新记录
a.Table = "table1" 'datagrid控制的主表
a.UniqueField = "ID"  '标志字段,所有记录不重复整型即可
a.PagePosition = "down" '分页显示位置,up上面,down下面 updown上下 ,其它为不显示
a.pagesize = 5 '每页显示记录数
a.Pagenumber = 10 '显示页数

a.BorderColor="#ff0000" '默认为效果图显示

a.BackGround="#00ff00" '默认为效果图显示

a.BorderWidth=1 默认为1

a.
set b1 = new column
b1.Field = "id"  '此列所绑定的数据库字段
b1.Title = "标志"  '标题
b1.Align = "center" ' 对齐方式
a.AddColumn(b1)   '把此列插入到datagrid
set b2 = new column
b2.Field="firstname"
b2.Title="姓"
a.AddColumn(b2)

set b3 = new column
b3.Field = "lastname"
b3.Title = "名"
a.AddColumn(b3)

set b4 = new column
b4.Field = "logintimes"
b4.Title = "登陆次数"
b4.ReadOnly = true  '设为只读,不会出现在编辑框中和新增记录中
a.AddColumn(b4)

set b5 = new column
b5.Title="编辑"
b5.Columntype ="edit"  '编辑列
b5.EditCommandText = "编辑"  '编辑按钮文本
a.AddColumn(b5)

set b6 = new column
b6.align = "center"
b6.Width = 200
b6.Columntype = "delete"
b6.DeleteCommandText = "删除按钮"
b6.Title ="删除"
a.AddColumn(b6)
a.CreateGrid()

set b1 = nothing
set b2 = nothing
set b3 = nothing
set b4 = nothing
set b5 = nothing
set b6 = nothing


类文件如下:

<%Class DataGrid
 Private pages
 Private strSQLString
 Public  Connstr
 Private Columns
 Private index
 Private strUniqueField,strTable
 Private rs
 Private strCellspacing,strCellpadding,strCssClass
 Private strBorderColorDark,strBorderColorLight,strBackGroundColor
 Private intBorderWidth
 Private strHeadStyle,strHeadBackgroudColor
 Private strStyle,strAlternateStyle
 Private UniqueKey,dg_action,currPage
 Private actionURL,pageURL,operationURL,formURL
 Public PagePosition,Pagesize,Pagenumber
 
 Public isAddnew
 
 Private Sub Class_Initialize()
  set Columns = Server.CreateObject("Scripting.Dictionary")
  index = 0
  Pagesize = 10
  Pagenumber = 10
  PagePosition = "updown"
  strSQLString = Session("DSN")
  uniquekey = Request("uniquekey")
  dg_action = Request("dg_action")
  currPage = Request("Page")
  actionURL = Request.ServerVariables("Script_name") & "?page=" & currPage
  if dg_action= "edit" then formURL = actionURL& "&dg_action=update&uniquekey="&uniquekey
  operationURL = Request.ServerVariables("Script_name") & "?page=" & currPage& "&uniquekey=" & uniquekey
  pageURL = Request.ServerVariables("Script_name")&"?1=1"
  if currPage = "" or isnull(currPage) then currPage = 1
 
  strBorderColorDark ="#f7f7f7"
  strBorderColorLight = "#cccccc"
  strBackgroundColor = "#f7f7f7"
  strHeadBackgroudColor = "#F2F2F2"
  intBorderWidth  = 1
  strAlternateStyle ="bgcolor=#f6f6f6"
  isAddnew = 1
  Set rs = Server.CreateObject("Adodb.Recordset")
 
  End Sub
 
  Private Sub Class_Terminate()