无为清净楼资源网 Design By www.qnjia.com
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Programming By Smartpig '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Class TBGrid
public DataSource '数据源
public style '表格总风格
public HeadStyle '表头风格
public HeadItemStyle '表头单独风格
public itemStyle '单元格独立网络
public HeadSort '表头是否显示排序功能
public Columns '需要显示的列元素
public Alternate '是否交替风格
public AlternateStyle '偶数行风格
public NormalStyle '正常风格
public DefaultStyle '默认风格簇
public PageSize '页大小
public AllowPageing '是否分页
public PageingStyle '页数风格
Private Templates '自定义单元项
private CurPage '当前页
private PageStart '页面开始运行时间
'内容之间的关系
'Columns.add "Field","HeadText"
'AddTemplate("HeadText",Template)
'itemStyle.add "Field","style:adsasd"
'HeadSort.add "Field",True
'DataSource(Columns.Keys(i))
Private Sub Class_Initialize ' 设置 Initialize 事件。
Set itemStyle = CreateObject("Scripting.Dictionary")
Set HeadSort = 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
PageStart = Timer
End Sub
Private Sub Class_Terminate ' 设置 Terminate 事件。
Set itemStyle = Nothing
Set HeadSort = 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
Else
DefaultStyle = Style
end if
CurPage = CInt(Request.QueryString("page"))
if CurPage = "" then
CurPage = 1
End If
if PageSize = Empty then
PageSize = 10
end if
select Case DefaultStyle
Case 1
Style ="align=center border=0 cellpadding=4 cellspacing=1 bgcolor='#cccccc'"
Alternate = 1
HeadStyle = "Height=25 style=""background-color:#006699;color:#ffffff"""
AlternateStyle = "bgColor=#ffffff height=25"
NormalStyle = "height=25 bgcolor=#f5f5f5"
AllowPageing = true
tbGrid1.PageingStyle = "bgcolor='#f5f5f5' align='right'"
Case 2
Style ="align=center border=0 cellpadding=4 cellspacing=1 bgcolor='#cccccc'"
Alternate = 0
HeadStyle = "Height=25 style=""background-color:#ffffff"""
AlternateStyle = "bgColor=#ffffff height=25"
NormalStyle = "height=25 bgcolor=#ffffff"
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 = "<th "&tbStyle&">"
tdEnd = "</th>" & vbCrLf
Response.Write(tdStart)
'加入表头排序功能
'Code by Redsun
'Date:2005-1-17
If HeadSort(clm) Then
Response.Write Sort(clm,Columns(clm))
Else
Response.Write(Columns(clm))
End If
Response.Write(tdEnd)
Next
Response.Write("</tr>" & vbCrLF)
'Draw Table items
curRow = 1
if AllowPageing <> Empty then
DataSource.PageSize = PageSize
else
DataSource.PageSize = DataSource.RecordCount
end if
if CurPage < 1 then
DataSource.AbsolutePage = 1
end if
if CurPage >= DataSource.PageCount then
DataSource.AbsolutePage = DataSource.PageCount
end if
if CurPage >= 1 and CurPage <= DataSource.PageCount then
DataSource.AbsolutePage = CurPage
end if
for curRow = 1 to DataSource.PageSize
if DataSource.EOF then
Exit For
end if
Response.Write("<tr>")
for Each clm in Columns.Keys()
if Alternate = 0 then
tbStyle = NormalStyle & " " & ItemStyle(clm)
else
if curRow mod 2 = 0 then
tbStyle = AlternateStyle & " " & ItemStyle(clm)
else
tbStyle = NormalStyle & " " & ItemStyle(clm)
end if
end if
tdStart = "<td "&tbStyle&">"
tdEnd = "</td>" & vbCrLf
if Templates(clm) = Empty then
tbContent = DataSource(clm)
else
tbContent = Templates(clm)
Set regEx = New RegExp
regEx.Pattern= "{[A-Za-z0-9_-]+}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches=regEx.Execute(Templates(clm))
For each match in matches
On Error Resume Next
tbContent = Replace(tbContent,Match.Value,DataSource(Mid(Match.Value,2,Len(Match.Value)-2)),1)
Next
end if
Response.Write(tdStart)
Response.Write(tbContent)
Response.Write(tdEnd)
Next
Response.Write("</tr>" & vbCrLF)
DataSource.MoveNext
Next
'Draw Pageing Row
if DataSource.PageCount > 1 and LCase(pageingStyle) <> "none" then
Dim i,EndPage,StartPage
response.write("<tr>")
response.write("<td colspan=" & Columns.Count & " " & PageingStyle & ">")
'改进分页功能
'Code by Redsun
'Date:2005-1-17
If CurPage>4 Then
If CurPage+2<DataSource.PageCount Then
StartPage = CurPage-2
EndPage = CurPage+2
Else
StartPage = DataSource.PageCount-4
EndPage = DataSource.PageCount
End If
Else
StartPage = 1
If DataSource.PageCount>5 Then
EndPage = 5
Else
EndPage = DataSource.PageCount
End If
End If
If CurPage>1 Then
Response.Write "<a title='首页' href='"&GetUrl("page")&"page=1'><font face=webdings>9</font></a> "
Response.Write "<a title='上页' href='"&GetUrl("page")&"page="&CurPage-1&"'><font face=webdings>3</font></a> "
Else
Response.Write "<font face=webdings>9</font> "
Response.Write "<font face=webdings>3</font> "
End If
For i=StartPage to EndPage
if i <> CurPage then
response.write("<a title='第"&i&"页' href='"&GetUrl("page")&"page="&i&"'>"&i&"</a> ")
Else
response.write("<b>"&i&"</b> ")
End if
next
If CurPage<DataSource.PageCount Then
Response.Write "<a title='下页' href='"&GetUrl("&page&")&"page="&CurPage+1&"'><font face=webdings>4</font></a> "
Response.Write "<a title='尾页' href='"&GetUrl("&page&")&"page="&DataSource.PageCount&"'><font face=webdings>:</font></a> "
Else
Response.Write "<font face=webdings>4</font> "
Response.Write "<font face=webdings>:</font> "
End If
Response.Write " [共"&DataSource.RecordCount&"条] ["&PageSize&"条/页] [共"&DataSource.PageCount&"页]"
Response.Write " PageExecute:"&Round((Timer-PageStart)*1000,2)&" MS"
response.write("</td></tr>" & vbCrLf)
End if
'Draw Table end
Response.Write("</table>")
End sub
'====================================================================
'获取当前Url参数的函数
'Codeing by Redsun
'====================================================================
Private Function GetUrl(RemoveList)
Dim ScriptAddress, M_ItemUrl, M_item
ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME"))&"?"'取得当前地址
M_ItemUrl = ""
For Each M_item In Request.QueryString
If InStr(RemoveList,M_Item)=0 Then
M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&"")) & "&"
End If
Next
GetUrl = ScriptAddress & M_ItemUrl
End Function
'=============================
'实现列表排序
'返回Url参数并动态改变排序方式
'参数:需要进行排序的字段名,显示的名称
'=============================
Private Function Sort(SortStr,DispName)
If SortStr = "" Or DispName="" Then Exit Function
Sort = GetUrl("SOrder,SSort")
SSort = UCase(Request.QueryString("SSort"))
If SSort = "DESC" Then
SSort = "ASC"
Else
SSort = "DESC"
End If
Sort = "<a class='headhref' href='"&Sort&"SOrder="&SortStr&"&SSort="&SSort&"'>"&DispName&SortType(SortStr)&"</a>"
End Function
'-----------------------------------------------
'标识排序列为升序还是降序方式
'参数:排序列字段名称
'-----------------------------------------------
Private Function SortType(FieldName)
Dim SOrderName
SOrderName = Request.QueryString("SOrder")
If SOrderName<>FieldName Then Exit Function
Dim SSortImg
SSortImg = Request.QueryString("SSort")
SortType = "<img src='/OrderFormSystem/images/"&SSortImg&".gif' border='0'>"
End Function
End Class
'users Like { UserID,LoginName,Password,RealName,Age,Gender,}
'initDB
Rs.Open "Select * from users",Cn
Dim tbGrid1
Set tbGrid1 = New TBGrid
Set tbGrid1.DataSource = Rs
tbGrid1.Columns.add "LoginName","用户名"
tbGrid1.HeadSort.add "LoginName",True
tbGrid1.Columns.add "Password","密码"
tbGrid1.AddTemplate "修改","<a href='aaa.asp?id={UserID}'><font color=red>{RealName}</font></a>"
tbGrid1.ItemStyle.add "Password","align=right"
tbGrid1.ItemStyle.add "修改","width=100"
tbGrid1.PageSize = 5
tbGrid1.AllowPageing = true
tbGrid1.PageingStyle = "align=right"
tbGrid1.Show()
'CloseDB
%>
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Programming By Smartpig '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Class TBGrid
public DataSource '数据源
public style '表格总风格
public HeadStyle '表头风格
public HeadItemStyle '表头单独风格
public itemStyle '单元格独立网络
public HeadSort '表头是否显示排序功能
public Columns '需要显示的列元素
public Alternate '是否交替风格
public AlternateStyle '偶数行风格
public NormalStyle '正常风格
public DefaultStyle '默认风格簇
public PageSize '页大小
public AllowPageing '是否分页
public PageingStyle '页数风格
Private Templates '自定义单元项
private CurPage '当前页
private PageStart '页面开始运行时间
'内容之间的关系
'Columns.add "Field","HeadText"
'AddTemplate("HeadText",Template)
'itemStyle.add "Field","style:adsasd"
'HeadSort.add "Field",True
'DataSource(Columns.Keys(i))
Private Sub Class_Initialize ' 设置 Initialize 事件。
Set itemStyle = CreateObject("Scripting.Dictionary")
Set HeadSort = 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
PageStart = Timer
End Sub
Private Sub Class_Terminate ' 设置 Terminate 事件。
Set itemStyle = Nothing
Set HeadSort = 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
Else
DefaultStyle = Style
end if
CurPage = CInt(Request.QueryString("page"))
if CurPage = "" then
CurPage = 1
End If
if PageSize = Empty then
PageSize = 10
end if
select Case DefaultStyle
Case 1
Style ="align=center border=0 cellpadding=4 cellspacing=1 bgcolor='#cccccc'"
Alternate = 1
HeadStyle = "Height=25 style=""background-color:#006699;color:#ffffff"""
AlternateStyle = "bgColor=#ffffff height=25"
NormalStyle = "height=25 bgcolor=#f5f5f5"
AllowPageing = true
tbGrid1.PageingStyle = "bgcolor='#f5f5f5' align='right'"
Case 2
Style ="align=center border=0 cellpadding=4 cellspacing=1 bgcolor='#cccccc'"
Alternate = 0
HeadStyle = "Height=25 style=""background-color:#ffffff"""
AlternateStyle = "bgColor=#ffffff height=25"
NormalStyle = "height=25 bgcolor=#ffffff"
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 = "<th "&tbStyle&">"
tdEnd = "</th>" & vbCrLf
Response.Write(tdStart)
'加入表头排序功能
'Code by Redsun
'Date:2005-1-17
If HeadSort(clm) Then
Response.Write Sort(clm,Columns(clm))
Else
Response.Write(Columns(clm))
End If
Response.Write(tdEnd)
Next
Response.Write("</tr>" & vbCrLF)
'Draw Table items
curRow = 1
if AllowPageing <> Empty then
DataSource.PageSize = PageSize
else
DataSource.PageSize = DataSource.RecordCount
end if
if CurPage < 1 then
DataSource.AbsolutePage = 1
end if
if CurPage >= DataSource.PageCount then
DataSource.AbsolutePage = DataSource.PageCount
end if
if CurPage >= 1 and CurPage <= DataSource.PageCount then
DataSource.AbsolutePage = CurPage
end if
for curRow = 1 to DataSource.PageSize
if DataSource.EOF then
Exit For
end if
Response.Write("<tr>")
for Each clm in Columns.Keys()
if Alternate = 0 then
tbStyle = NormalStyle & " " & ItemStyle(clm)
else
if curRow mod 2 = 0 then
tbStyle = AlternateStyle & " " & ItemStyle(clm)
else
tbStyle = NormalStyle & " " & ItemStyle(clm)
end if
end if
tdStart = "<td "&tbStyle&">"
tdEnd = "</td>" & vbCrLf
if Templates(clm) = Empty then
tbContent = DataSource(clm)
else
tbContent = Templates(clm)
Set regEx = New RegExp
regEx.Pattern= "{[A-Za-z0-9_-]+}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches=regEx.Execute(Templates(clm))
For each match in matches
On Error Resume Next
tbContent = Replace(tbContent,Match.Value,DataSource(Mid(Match.Value,2,Len(Match.Value)-2)),1)
Next
end if
Response.Write(tdStart)
Response.Write(tbContent)
Response.Write(tdEnd)
Next
Response.Write("</tr>" & vbCrLF)
DataSource.MoveNext
Next
'Draw Pageing Row
if DataSource.PageCount > 1 and LCase(pageingStyle) <> "none" then
Dim i,EndPage,StartPage
response.write("<tr>")
response.write("<td colspan=" & Columns.Count & " " & PageingStyle & ">")
'改进分页功能
'Code by Redsun
'Date:2005-1-17
If CurPage>4 Then
If CurPage+2<DataSource.PageCount Then
StartPage = CurPage-2
EndPage = CurPage+2
Else
StartPage = DataSource.PageCount-4
EndPage = DataSource.PageCount
End If
Else
StartPage = 1
If DataSource.PageCount>5 Then
EndPage = 5
Else
EndPage = DataSource.PageCount
End If
End If
If CurPage>1 Then
Response.Write "<a title='首页' href='"&GetUrl("page")&"page=1'><font face=webdings>9</font></a> "
Response.Write "<a title='上页' href='"&GetUrl("page")&"page="&CurPage-1&"'><font face=webdings>3</font></a> "
Else
Response.Write "<font face=webdings>9</font> "
Response.Write "<font face=webdings>3</font> "
End If
For i=StartPage to EndPage
if i <> CurPage then
response.write("<a title='第"&i&"页' href='"&GetUrl("page")&"page="&i&"'>"&i&"</a> ")
Else
response.write("<b>"&i&"</b> ")
End if
next
If CurPage<DataSource.PageCount Then
Response.Write "<a title='下页' href='"&GetUrl("&page&")&"page="&CurPage+1&"'><font face=webdings>4</font></a> "
Response.Write "<a title='尾页' href='"&GetUrl("&page&")&"page="&DataSource.PageCount&"'><font face=webdings>:</font></a> "
Else
Response.Write "<font face=webdings>4</font> "
Response.Write "<font face=webdings>:</font> "
End If
Response.Write " [共"&DataSource.RecordCount&"条] ["&PageSize&"条/页] [共"&DataSource.PageCount&"页]"
Response.Write " PageExecute:"&Round((Timer-PageStart)*1000,2)&" MS"
response.write("</td></tr>" & vbCrLf)
End if
'Draw Table end
Response.Write("</table>")
End sub
'====================================================================
'获取当前Url参数的函数
'Codeing by Redsun
'====================================================================
Private Function GetUrl(RemoveList)
Dim ScriptAddress, M_ItemUrl, M_item
ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME"))&"?"'取得当前地址
M_ItemUrl = ""
For Each M_item In Request.QueryString
If InStr(RemoveList,M_Item)=0 Then
M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&"")) & "&"
End If
Next
GetUrl = ScriptAddress & M_ItemUrl
End Function
'=============================
'实现列表排序
'返回Url参数并动态改变排序方式
'参数:需要进行排序的字段名,显示的名称
'=============================
Private Function Sort(SortStr,DispName)
If SortStr = "" Or DispName="" Then Exit Function
Sort = GetUrl("SOrder,SSort")
SSort = UCase(Request.QueryString("SSort"))
If SSort = "DESC" Then
SSort = "ASC"
Else
SSort = "DESC"
End If
Sort = "<a class='headhref' href='"&Sort&"SOrder="&SortStr&"&SSort="&SSort&"'>"&DispName&SortType(SortStr)&"</a>"
End Function
'-----------------------------------------------
'标识排序列为升序还是降序方式
'参数:排序列字段名称
'-----------------------------------------------
Private Function SortType(FieldName)
Dim SOrderName
SOrderName = Request.QueryString("SOrder")
If SOrderName<>FieldName Then Exit Function
Dim SSortImg
SSortImg = Request.QueryString("SSort")
SortType = "<img src='/OrderFormSystem/images/"&SSortImg&".gif' border='0'>"
End Function
End Class
'users Like { UserID,LoginName,Password,RealName,Age,Gender,}
'initDB
Rs.Open "Select * from users",Cn
Dim tbGrid1
Set tbGrid1 = New TBGrid
Set tbGrid1.DataSource = Rs
tbGrid1.Columns.add "LoginName","用户名"
tbGrid1.HeadSort.add "LoginName",True
tbGrid1.Columns.add "Password","密码"
tbGrid1.AddTemplate "修改","<a href='aaa.asp?id={UserID}'><font color=red>{RealName}</font></a>"
tbGrid1.ItemStyle.add "Password","align=right"
tbGrid1.ItemStyle.add "修改","width=100"
tbGrid1.PageSize = 5
tbGrid1.AllowPageing = true
tbGrid1.PageingStyle = "align=right"
tbGrid1.Show()
'CloseDB
%>
标签:
ASP数据岛操作类
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
更新日志
2024年09月20日
2024年09月20日
- [电影原声带]黎允文《天将雄师》[FLAC+CUE]
- 曝NS继任机型已进入量产阶段:已花了30亿日元
- 不是Switch2?曝《马里奥惊奇》NS捆绑包即将公开
- 暖心任天堂!网友Switch维修返还时贴纸被完好保留
- 《国语老歌 经典对唱情歌 2CD》[WAV/分轨][1.1GB]
- 《刀郎 翻唱精选华语专辑 披着羊皮的狼 》[WAV+CUE][430MB]
- 《真的田震 中国乐坛红极一时的歌者 精品集》[WAV+CUE][300MB]
- 群星.1995-新滚石九大天王之情歌大全【滚石】【WAV+CUE】
- 群星.1993-滚石九大天王十二出好戏·纵夏欢唱【滚石】【WAV+CUE】
- 群星.1993-滚石九大天王十二出好戏·贺岁齐唱【滚石】【WAV+CUE】
- 黑神话悟空上品虫校尉精魄获取方法一览|上品虫校尉精魄收集攻略
- 《指环王:夏尔的传说》推迟至2025年初发行
- 黑神话悟空上品蝎太子精魄获取方法一览|上品蝎太子精魄收集攻略
- 银霞.1977-《台北66电影原声带》台湾复刻版[WAV+CUE]
- 银霞.1980-《你那好冷的小手》台湾珍藏纪念版[WAV+CUE]