设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间08 现在时间08 缓存数据 如果决意去做一件事了,就不要再问自己和别人值不值得。心甘情愿才能理所当然,理所当然才会义无反顾。

如果决意去做一件事了,就不要再问自己和别人值不值得。心甘情愿才能理所当然,理所当然才会义无反顾。

查看: 1240|回复: 0

ASP数据岛操作类

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:204
  • 打卡月天数:0
  • 打卡总奖励:3268
  • 最近打卡:2023-08-27 09:35:51
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
380
主题
350
精华
0
金钱
4373
积分
760
注册时间
2022-12-25
最后登录
2025-5-31

发表于 2023-2-14 15:23:01 | 显示全部楼层 |阅读模式
")
        for Each clm in Columns.Keys()
            tbStyle = HeadStyle & " " & HeadItemStyle(clm)
            tdStart = ""
            tdEnd = "" & 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("
" & 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("")
            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 = ""
                tdEnd = "" & 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("
" & vbCrLF)

            DataSource.MoveNext
        Next

        'Draw Pageing Row
        if DataSource.PageCount > 1 and LCase(pageingStyle) <> "none" then
            Dim i,EndPage,StartPage
            response.write("")
            response.write("")
            '改进分页功能
            'Code by Redsun
            'Date:2005-1-17
            If CurPage>4 Then
                If CurPage+2                    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 "9 "
                Response.Write "3 "
            Else
                Response.Write "9 "
                Response.Write "3 "
            End If 
            For i=StartPage to EndPage
                if i <> CurPage then
                    response.write(""&i&" ")
                Else
                    response.write(""&i&" ")
                End if
            next
            If CurPage                Response.Write "4 "
                Response.Write ": "
            Else
                Response.Write "4 "
                Response.Write ": "
            End If
            Response.Write "   [共"&DataSource.RecordCount&"条] ["&PageSize&"条/页] [共"&DataSource.PageCount&"页]"
            Response.Write " PageExecute:"&Round((Timer-PageStart)*1000,2)&" MS"
            response.write("
" & vbCrLf)
        End if
        'Draw Table end
        Response.Write("
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'            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 = "" & vbCrLF
        'Draw Table Head
        Response.Write(tableStr)
        Response.Write("
")
    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 = ""&DispName&SortType(SortStr)&""
    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 = ""
    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 "修改","{RealName}"
tbGrid1.ItemStyle.add "Password","align=right"
tbGrid1.ItemStyle.add "修改","width=100"
tbGrid1.PageSize = 5
tbGrid1.AllowPageing = true
tbGrid1.PageingStyle = "align=right"
tbGrid1.Show()
'CloseDB
%>



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
返回列表 发新帖
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表