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

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP模仿asp.net的DataGrid


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