在ASP 中实现ASP.Net 的DataGrid 功能(转载)

asp.net|datagrid

自从用贯了.Net的DataGrid就再也懒得去用ASP画表格了,于是想了一个折中的办法,访照DataGrid的功能写了一个TBGrid 类,这样可以轻松的重用代码.比起每次都得重复劳动方便多了.希望能给用得到的人带去一些方便.用法很简单,看后面的例子便一目了然了.有什么不完善的地方希望大家有和我讨论.
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Programming By Smartpig '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Class TBGrid

public DataSource '数据源
public style '表格总风格
public HeadStyle '表头风格
public HeadItemStyle '表头单独风格
public itemStyle '单元格独立网络
public Columns '需要显示的列元素
public Alternate '是否交替风格
public AlternateStyle '偶数行风格
public NormalStyle '正常风格
public DefaultStyle '默认风格簇
public PageSize '页大小
public CurPage '当前页
public AllowPageing '是否分页
public PageingStyle '页数风格

Private Templates '自定义单元项

'内容之间的关系
'Columns.add "Field","HeadText"
'AddTemplate("HeadText",Template)
'itemStyle.add "Field","style:adsasd"
'DataSource(Columns.Keys(i))

Private Sub Class_Initialize ' 设置 Initialize 事件。
Set itemStyle = CreateObject("Scripting.Dictionary")
Set HeadItemStyle= CreateObject("Scripting.Dictionary")
Set Columns = CreateObject("Scripting.Dictionary")
Set Templates = CreateObject("Scripting.Dictionary")
Set DataSource = CreateObject("ADODB.Recordset")
Alternate = 0
End Sub

Private Sub Class_Terminate ' 设置 Terminate 事件。
Set itemStyle = Nothing
Set HeadItemStyle = Nothing
Set Columns = Nothing
Set DataSource = Nothing
End Sub

Private Sub InitTable()
'Set FieldsNum = DataSource.Fields.Count
'Set RowsNum = DataSource.RecordCount
if Columns.Count = 0 then
For i = 0 to DataSource.Fields.Count -1
Columns.add DataSource.Fields(i).Name,DataSource.Fields(i).Name
response.Write(DataSource.Fields(i).Name)
Next
end if

if IsEmpty(Style) and IsEmpty(NormalStyle) then
DefaultStyle = 1
end if

if PageSize = Empty then
PageSize = 10
end if

select Case DefaultStyle
Case 1
Style ="border=1 cellpadding=2 cellspaccing=0 borderColor=#000000 style=""Border-collapse:collapse;font-size:12px"""
Alternate = 1
HeadStyle = "Height=25 bgColor=#CCCCCC"
AlternateStyle = "bgColor=#EEEEEE height=20"
NormalStyle = "height=20"

Case Else
End Select

End sub

public Sub AddTemplate(ByVal ColumnName,ByVal Template)
Columns.add ColumnName,ColumnName
Templates.add ColumnName,Template
End Sub

public Sub Show()
InitTable()

Dim tableStr
Dim tdStart,tdEnd,tbStyle,tbContent
Dim curRow
Dim clm
Dim regEx,Match,Matches

tableStr = "<table " & style & ">" & vbCrLF

'Draw Table Head
Response.Write(tableStr)
Response.Write("<tr>")
for Each clm in Columns.Keys()
tbStyle = HeadStyle & " " & HeadItemStyle(clm)
tdStart = "<td " & tbStyle & ">"
tdEnd = "</td>"

Response.Write(tdStart)
Response.Write(Columns(clm))
Response.Write(tdEnd)
Next
Response.Write("</tr>" & vbCrLF)

'Draw Table items
curRow = 1
if AllowPageing <> Empty then

时间: 2024-10-27 16:19:18

在ASP 中实现ASP.Net 的DataGrid 功能(转载)的相关文章

ASP+中取代ASP的RS(Remote Scripting)技术的Framework

ASP+中取代ASP的RS(Remote Scripting)技术的FrameworkBatman在上面的文章里面我提到了Page.IsPostBack属性的一个应用,可以用来保存用户输入的信息,下面我将介绍它的另外一个用处,那就是取代ASP中的RS(Remote Scripting)技术.至于RS的基本概念和用法我已经在asp版里面有很多介绍了,它主要的优势就是在不刷新当前页面的情况下和服务器端进行通信.但是由于它的底层是使用了java技术,所以它用起来还是显得较为烦琐,下面我就将介绍在ASP

数据库-ASP中的&amp;amp;lt;asp:Repeater&amp;amp;gt;控件问题

问题描述 ASP中的<asp:Repeater>控件问题 各位大神们好,我在项目中使用asp:Repeater控件,去显示我数据库里面的数据,可是运行程序的时候显示: 我把代码给大家看一下,请大家帮我看看是哪里出了错误 (1)前台页面数据绑定: 序号 I级机构 II级机构 III级机构 <%#Eval("Id") %>> <%#Eval("Csk_no.Cfk_no.First_kind_name") %>> <

亲密接触ASP.Net(2) ASP+的语法

上一节 ,我们简单介绍了ASP+的配制环境,我们这一节来谈谈ASP+的语法.其实当你装好NGWS后,他所带的文档是最好的学习ASP+的教程,要你E文足够好,以及很好的耐性,学习ASP+不是难事啦.我们这些家伙也是从这里学了很多的,这篇关于ASP+语法的文章,大多数也来自于M$的原文,最可惜的就是我们的服务器不能装上NGWS,有些例子,大家不能看到执行结果,不太好.不过有些地方,我会把执行结果显示出来的.我们开始这一节吧:) 一个ASP+页面的后缀名是".ASPX".它能够包含八种不同的

ASP中一次更新DATAGRID中所有记录

在asp.net中,如何一次性更新datagrid中的所有记录呢?可以用如下的方法,首先, 要对DATAGRID中要更新的列建立模版列,比如:  asp:datagrid id="dgPopularFAQs" runat="server" AutoGenerateColumns="False" ...> ItemStyle-HorizontalAlign="Center" HeaderText="FAQ ID&

ASP 中利用OWC 服务器端组件动态生成图表

动态|服务器|图表 引:Web程序开发中,经常需要从数据库表文件中提取数据,并对大批量的数据进行分析比较,此时最常用也是最直观明了的表现方法莫过于绘制图表. ASP擅长服务器端的Web编程,操作后台数据库更是它的强项.但是用ASP制作实时数据库图表有点困难,因为ASP本身并不支持图表功能,只能借助第三方控件进行开发,如VB的MSChart 控件.而微软推出的实时数据库图表制作组件-- O W C(Microsoft Office Web Components),为在Web中绘制图形提供了灵活的同

使用asp+中的若干问题及解决方案

综述:在这篇文章里 豆腐 简单扼要的讲了一下在asp+编程中我们可能要遇到的问题以及遇到这些问题的解决方法,相信大家 在看完这篇文章以后,对于asp+的编程就会觉得是非常的简单,我在这篇文章文章中主要讲了一些比较中级的应用,如果您对于asp+目前还是处于入门阶段,建议您去1 如何使用 asp+ 获取提交的form元素 我们首先来利用一个很简单的例子来说明 一下 asp+ 给我们带来的 server-side control 的好处首先我们写一个form 为了方便起见,我不在 描述 <html>

Oracle大文本在ASP中存取问题的解决

oracle|解决|问题 在我开发BS结构程序中,由于经常需要在ORACLE中处理一些容量较大的文本数据,所以经过反复测试终于用ASP成功解决了大文本数据在ORACLE下存取问题. 一.运行环境: 1.Microsoft Windows 2000 Server + IIS 5.0 2.Oracle8i中文标准版 二.建立数据表: CREATE TABLE SYSTEM.TEST( BLOB LONG, ID NUMBER) / 三.源程序: 1.数据存入程序:test.asp <% '表单提交处

手把手教你在ASP中使用SQL语句

sql|语句 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了.但你要同时采用ASP和SQL的话就可能会头晕.MySQL.SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句.不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL. 1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用

asp中利用数组实现数据库记录的批量录入方法

数据|数据库|数组 asp中利用数组实现数据库记录的批量录入方法(原创) 演示:http://www.zwtd.com/1/yanek/n/needdj2.asp <% rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件 1.allneeddj.asp:实现表单的生成 2. allneeddjresult.asp 处理表单批量录入 3.hbedu.mdb :数据库文件 其数据库结构如下 provi