In .net, changed bold, italic, underline, and wrap to TriState. Also in .net, Excel...
[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   Dim ColumnObj\r
14   Dim colname as String, colname0 as String, datatype as String\r
15 \r
16   TableName = trim(request.querystring("tabid"))\r
17   if app.OpenGrid(dbViewer) AndAlso TableName<>"" then\r
18   \r
19     restrictions(2)=TableName\r
20     ColumnInfo = app.dbConnection.GetSchema ("Columns", restrictions)\r
21 \r
22     dbViewer.Tables.Add(new Rico.Table("[" & TableName & "]"))\r
23     dbViewer.requestParameters.Add("tabid",TableName)   ' need to get the table name back so we can define columns every during every AJAX call\r
24 \r
25     For Each colinfo As DataRow In ColumnInfo.Rows\r
26       colname=colinfo("COLUMN_NAME").ToString\r
27       datatype=colinfo("DATA_TYPE").ToString\r
28       if IsNothing(colname0) then colname0=colname\r
29       if IsNumeric(datatype) then datatype=ADOColType(datatype)\r
30 \r
31       if InStr(1,datatype,"binary",1) > 0 or left(datatype,3)="???" or datatype="image" then\r
32         ColumnObj = New Rico.FormulaCol()\r
33         ColumnObj.Formula = "'?'"\r
34       else\r
35         ColumnObj = New Rico.TableCol()\r
36         ColumnObj.ColName = colname\r
37       end if\r
38       ColumnObj.Heading=colname\r
39       ColumnObj.width=100\r
40       if InStr(1,datatype,"DATETIME",1) > 0 then ColumnObj.DataType=Rico.Column.DataTypeValues.date\r
41       dbViewer.AddColumn(ColumnObj)\r
42     Next\r
43     dbViewer.DefaultSort = 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 <Rico:LoadClient checkQueryString='true' 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 \r
83 </body>\r
84 </html>\r