4fa502808d6d18f6ecdbe65031855715f83ec2a3
[infodrom/rico3] / examples / dotnet / RicoDbViewerDetail.aspx
1 <%@ Page Language="VB" ResponseEncoding="iso-8859-1" Debug="true" %>\r
2 <%@ Import Namespace="System.Data" %>\r
3 <%@ Register TagPrefix="Rico" Assembly="Rico" NameSpace="Rico" %>\r
4 <%@ Register TagPrefix="My" TagName="dbLib" Src="dbConnect.ascx" %>\r
5 <My:dbLib id='app' runat='server' />\r
6 \r
7 <script runat="server">\r
8 Dim TableName as String\r
9 \r
10 Sub Page_Load(Sender As object, e As EventArgs)\r
11   Dim restrictions() As String = New String(2) {}\r
12   Dim ColumnInfo As DataTable\r
13 \r
14   TableName = trim(request.querystring("id"))\r
15   if  app.OpenGrid(dbViewer) then\r
16 \r
17     restrictions(2)=TableName\r
18     ColumnInfo = app.dbConnection.GetSchema ("Columns", restrictions)\r
19 \r
20     Dim colname as String, colname0 as String, datatype as String\r
21     For Each colinfo As DataRow In ColumnInfo.Rows\r
22       colname=colinfo("COLUMN_NAME").ToString\r
23       datatype=colinfo("DATA_TYPE").ToString\r
24       if IsNothing(colname0) then colname0=colname\r
25       if IsNumeric(datatype) then datatype=ADOColType(datatype)\r
26 \r
27       Dim ColumnObj as New Rico.Column()\r
28       if InStr(1,datatype,"binary",1) > 0 or left(datatype,3)="???" or datatype="image" then\r
29         ColumnObj.Formula = "'?'"\r
30       else\r
31         ColumnObj.ColName = colname\r
32       end if\r
33       ColumnObj.Heading=colname\r
34       ColumnObj.width=100\r
35       if InStr(1,datatype,"DATETIME",1) > 0 then ColumnObj.DataType="datetime"\r
36       dbViewer.AddColumn(ColumnObj)\r
37     Next\r
38     dbViewer.DefaultSort = colname0\r
39     dbViewer.TableName = "[" & TableName & "]"\r
40     \r
41   end if\r
42 End Sub\r
43 \r
44 Function ADOColType(typenum)\r
45   select case typenum\r
46     case 2,3,16,17,18,19,20,21,139: ADOColType="INT"\r
47     case 7,133,134,135: ADOColType="DATETIME"\r
48     case 129,130:   ADOColType="CHAR"\r
49     case 8,200,202: ADOColType="VARCHAR"\r
50     case 201,203:   ADOColType="TEXT"\r
51     case 4,5,6,14:  ADOColType="FLOAT"\r
52     case 11:        ADOColType="BOOLEAN"\r
53     case else:      ADOColType="???" & typenum\r
54   end select\r
55 End Function\r
56 \r
57 </script>\r
58 \r
59 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
60 <html>\r
61 <head>\r
62 <title>Rico LiveGrid-DB Viewer</title>\r
63 \r
64 <Rico:LoadClient checkQueryString='true' runat='server' />\r
65 <link href="../demo.css" type="text/css" rel="stylesheet" />\r
66 <style type="text/css">\r
67 html { border: none; }\r
68 div.ricoLG_cell {\r
69   white-space:nowrap;\r
70 }\r
71 </style>\r
72 </head>\r
73 \r
74 <body>\r
75 \r
76 <p><strong><%=TableName%></strong>\r
77 <Rico:LiveGrid runat='server' id='dbViewer' highlightElem='cursorRow' menuEvent='click' />\r
78 \r
79 </body>\r
80 </html>\r