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