源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ASP数据岛操作类

  • 时间:2022-04-10 05:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ASP数据岛操作类
<% ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '            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 %>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部