.net server control is almost feature complete and functional. All .net examples...
[infodrom/rico3] / examples / dotnet / RicoDbViewerDetail.aspx
index b291d7d..68461bb 100644 (file)
@@ -10,36 +10,38 @@ Dim TableName as String
 Sub Page_Load(Sender As object, e As EventArgs)\r
   Dim restrictions() As String = New String(2) {}\r
   Dim ColumnInfo As DataTable\r
-  Dim columnlist as String\r
-\r
-  TableName = trim(request.querystring("id"))\r
-  if app.OpenDB() then\r
+  Dim ColumnObj\r
+  Dim colname as String, colname0 as String, datatype as String\r
 \r
+  TableName = trim(request.querystring("tabid"))\r
+  if app.OpenGrid(dbViewer) AndAlso TableName<>"" then\r
+  \r
     restrictions(2)=TableName\r
     ColumnInfo = app.dbConnection.GetSchema ("Columns", restrictions)\r
 \r
-    Dim colname as String, colname0 as String, datatype as String\r
+    dbViewer.Tables.Add(new Rico.Table("[" & TableName & "]"))\r
+    dbViewer.requestParameters.Add("tabid",TableName)   ' need to get the table name back so we can define columns every during every AJAX call\r
+\r
     For Each colinfo As DataRow In ColumnInfo.Rows\r
       colname=colinfo("COLUMN_NAME").ToString\r
       datatype=colinfo("DATA_TYPE").ToString\r
       if IsNothing(colname0) then colname0=colname\r
       if IsNumeric(datatype) then datatype=ADOColType(datatype)\r
-      if not IsNothing(columnlist) then\r
-        columnlist=columnlist & ","\r
-      end if\r
+\r
       if InStr(1,datatype,"binary",1) > 0 or left(datatype,3)="???" or datatype="image" then\r
-        columnlist=columnlist & "'?'"\r
+        ColumnObj = New Rico.FormulaCol()\r
+        ColumnObj.Formula = "'?'"\r
       else\r
-        columnlist=columnlist & colname\r
+        ColumnObj = New Rico.TableCol()\r
+        ColumnObj.ColName = colname\r
       end if\r
-      Dim ColumnObj as New Rico.Column()\r
       ColumnObj.Heading=colname\r
       ColumnObj.width=100\r
-      if InStr(1,datatype,"DATETIME",1) > 0 then ColumnObj.DataType="datetime"\r
+      if InStr(1,datatype,"DATETIME",1) > 0 then ColumnObj.DataType=Rico.Column.DataTypeValues.date\r
       dbViewer.AddColumn(ColumnObj)\r
     Next\r
-    dbViewer.sqlQuery="select " & columnlist & " from [" & TableName & "] order by " & colname0\r
-\r
+    dbViewer.DefaultSort = colname0\r
+    \r
   end if\r
 End Sub\r
 \r
@@ -76,10 +78,7 @@ div.ricoLG_cell {
 <body>\r
 \r
 <p><strong><%=TableName%></strong>\r
-<Rico:LiveGrid runat='server' id='dbViewer' highlightElem='cursorRow' menuEvent='click' >\r
-<GridColumns>\r
-</GridColumns>\r
-</Rico:LiveGrid>\r
+<Rico:LiveGrid runat='server' id='dbViewer' highlightElem='cursorRow' menuEvent='click' />\r
 \r
 </body>\r
 </html>\r