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

ASP
ASP中实现限制IP的函数详解
Asp下实现限制IP访问的程序代码
asp下DateDiff 函数参数说明
Highlight patterns within strings
Insert Date and Time into Access
asp下调试程序的debug类
RESPONSE.WRITE和<%=%的区别
用asp实现网页邮箱访问的方法
编写一个含二级目录的源码(Asp+JavaScript)
asp下删除Access数词库中的空记录的sql语句
asp下制做行背景颜色交替变换的表格
asp下将数据库中的信息存储至XML文件中
asp下如何在Access数据库中立即得到所插入记录的自动编号?
asp下如何在ADO服务器端利用好缓存技术?
asp调用Word打印的代码
巧用FileSystem组件实现WEB应用中的本地特定打印的方法
用javascript解决外部数据抓取中的乱码问题
Asp中随机产生用户密码的代码
反SPAM新思路—换Z-BLOG的验证码!
在Z-BLOG可用的新版ASP的GIF验证码[V70404]

ASP模仿asp.net的DataGrid


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 172 ::
收藏到网摘: 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()