在ASP 中實現ASP.Net 的DataGrid 功能(轉載)

來源:互聯網
上載者:User
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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.