Most base libraries now loaded from googleapis. Changes to the way LiveGridForms...
authorMatt Brown <dowdybrown@yahoo.com>
Thu, 10 Feb 2011 17:29:26 +0000 (17:29 +0000)
committerMatt Brown <dowdybrown@yahoo.com>
Thu, 10 Feb 2011 17:29:26 +0000 (17:29 +0000)
git-svn-id: svn://svn.code.sf.net/p/openrico/code/trunk/rico3@68 53df2df2-7ab5-4331-af62-ea79255fa4e2

133 files changed:
documentation/GridStyles.html
documentation/GridStyles_ja.html [deleted file]
documentation/InstallNotes.html
documentation/InstallNotes_ja.html [deleted file]
documentation/LiveGrid.html
documentation/LiveGridAjax.html
documentation/LiveGridAjax_ja.html [deleted file]
documentation/LiveGridForms.html
documentation/LiveGridForms_ja.html [deleted file]
documentation/LiveGrid_ja.html [deleted file]
documentation/SimpleGrid.html
documentation/SimpleGrid_ja.html [deleted file]
documentation/browsers.html
documentation/browsers_ja.html [deleted file]
documentation/grids.html
documentation/grids_ja.html [deleted file]
documentation/menu.html
documentation/translations.html
documentation/translations_ja.html [deleted file]
documentation/welcome.html
documentation/welcome_ja.html [deleted file]
documentation/welcome_zh.html [deleted file]
examples/asp/LoadRicoClient.asp
examples/asp/ShipperEdit.asp
examples/asp/ex1.asp
examples/asp/ex2editfilter.asp
examples/asp/ex2editfilterKW.asp
examples/asp/ex2json.asp
examples/asp/ex2nosession.asp
examples/asp/ex2xml.asp
examples/asp/menu.html
examples/asp/simplegrid.asp
examples/asp/tree1.asp
examples/asp/widgets.asp
examples/demo.css
examples/dotnet/LoadRicoClient.ascx
examples/dotnet/ShipperEdit.aspx
examples/dotnet/dbConnect.ascx
examples/dotnet/employees.aspx
examples/dotnet/ex1.aspx
examples/dotnet/ex2editfilter.aspx
examples/dotnet/ex2json.aspx
examples/dotnet/ex2nosession.aspx
examples/dotnet/ex2xml.aspx
examples/dotnet/menu.html
examples/dotnet/simplegrid.aspx
examples/dotnet/tree1.aspx
examples/dotnet/widgets.aspx
examples/html/LoadRicoClient.js
examples/html/animate-rico.html
examples/html/classTest.html
examples/html/controls.html
examples/html/cssSelect.html
examples/html/drag-and-drop-grid.html
examples/html/events.html
examples/html/menu.html
examples/html/popups.html
examples/html/shadow.html
examples/menu.js
examples/php/LoadRicoClient.php
examples/php/ShipperEdit.php
examples/php/dbConnect.php
examples/php/ex1.php
examples/php/ex2editfilter.php
examples/php/ex2json.php
examples/php/ex2nosession.php
examples/php/ex2xml.php
examples/php/menu.html
examples/php/photos.php
examples/php/simplegrid.php
examples/php/tree1.php
examples/php/widgets.php
plugins/asp/SimpleGrid.vbs
plugins/dotnet/LiveGrid.ascx.vb
plugins/dotnet/SimpleGrid.ascx.vb
plugins/dotnet/sqlParse.ascx.vb
plugins/php/dbClass3.php
ricoClient/css/coffee-with-milk.css
ricoClient/css/grayedout.css
ricoClient/css/greenHdg.css
ricoClient/css/jquery-base/images/ui-bg_flat_0_aaaaaa_40x100.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_flat_75_ffffff_40x100.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_glass_55_fbf9ee_1x400.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_glass_65_ffffff_1x400.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_glass_75_dadada_1x400.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_glass_75_e6e6e6_1x400.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_glass_95_fef1ec_1x400.png [deleted file]
ricoClient/css/jquery-base/images/ui-bg_highlight-soft_75_cccccc_1x100.png [deleted file]
ricoClient/css/jquery-base/images/ui-icons_222222_256x240.png [deleted file]
ricoClient/css/jquery-base/images/ui-icons_2e83ff_256x240.png [deleted file]
ricoClient/css/jquery-base/images/ui-icons_454545_256x240.png [deleted file]
ricoClient/css/jquery-base/images/ui-icons_888888_256x240.png [deleted file]
ricoClient/css/jquery-base/images/ui-icons_cd0a0a_256x240.png [deleted file]
ricoClient/css/jquery-base/ui.accordion.css [deleted file]
ricoClient/css/jquery-base/ui.base.css [deleted file]
ricoClient/css/jquery-base/ui.core.css [deleted file]
ricoClient/css/jquery-base/ui.datepicker.css [deleted file]
ricoClient/css/jquery-base/ui.dialog.css [deleted file]
ricoClient/css/jquery-base/ui.tabs.css [deleted file]
ricoClient/css/rico.css
ricoClient/css/warmfall.css
ricoClient/js/baselibs/README.TXT [new file with mode: 0644]
ricoClient/js/baselibs/dojo.debug.js [deleted file]
ricoClient/js/baselibs/dojo.js [deleted file]
ricoClient/js/baselibs/ext-core.js [deleted file]
ricoClient/js/baselibs/glow.core-1.7.js [new file with mode: 0644]
ricoClient/js/baselibs/glow.core.debug.js [deleted file]
ricoClient/js/baselibs/jquery-1.3.js [deleted file]
ricoClient/js/baselibs/jquery-1.4.js [deleted file]
ricoClient/js/baselibs/jquery.js [deleted file]
ricoClient/js/baselibs/mootools.js [deleted file]
ricoClient/js/baselibs/prototype-1.6.js [new file with mode: 0644]
ricoClient/js/baselibs/prototype.js [deleted file]
ricoClient/js/rico.js
ricoClient/js/rico2Dojo.js [deleted file]
ricoClient/js/rico2Ext.js [deleted file]
ricoClient/js/rico2Glow.js [deleted file]
ricoClient/js/rico2Moo.js [deleted file]
ricoClient/js/rico2Proto.js [deleted file]
ricoClient/js/rico2doj.js [new file with mode: 0644]
ricoClient/js/rico2ext.js [new file with mode: 0644]
ricoClient/js/rico2glo.js [new file with mode: 0644]
ricoClient/js/rico2jQuery.js [deleted file]
ricoClient/js/rico2jqu.js [new file with mode: 0644]
ricoClient/js/rico2moo.js [new file with mode: 0644]
ricoClient/js/rico2pro.js [new file with mode: 0644]
ricoClient/js/ricoGridCommon.js
ricoClient/js/ricoLiveGrid.js
ricoClient/js/ricoLiveGridAjax.js
ricoClient/js/ricoLiveGridControls.js
ricoClient/js/ricoLiveGridForms.js
ricoClient/js/ricoSimpleGrid.js
ricoClient/js/ricoUI.js

index 1afb233..8cf2932 100644 (file)
@@ -8,9 +8,6 @@
 <body>\r
 <h1>Grid Styles</h1>\r
 \r
-<p><a href='GridStyles_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='GridStyles_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>It is very easy to customize the style of Rico LiveGrids and SimpleGrids.\r
 In fact, LiveGrids and SimpleGrids share many of the same class names\r
 and DOM structures, so styles that apply to one can be applied to the other.\r
@@ -29,8 +26,8 @@ in the src/css directory.
 <p><strong>greenHdg.css</strong>\r
 <br><img src='images/gridsamples/greenHdg.png'>\r
 \r
-<p><strong>tanChisel.css</strong>\r
-<br><img src='images/gridsamples/tanChisel.png'>\r
+<p><strong>seaglass.css</strong>\r
+<br><img src='images/gridsamples/seaglass.png'>\r
 \r
 <p><strong>grayedout.css</strong>\r
 <br><img src='images/gridsamples/grayedout.png'>\r
@@ -41,9 +38,6 @@ in the src/css directory.
 <p><strong>warmfall.css</strong>\r
 <br><img src='images/gridsamples/warmfall.png'>\r
 \r
-<p><strong>iegradient.css</strong> <em>(only works in Internet Explorer)</em>\r
-<br><img src='images/gridsamples/iegradient.png'>\r
-\r
 <p>Several of these styles are adapted from the\r
 <a href="http://icant.co.uk/csstablegallery/index.php">CSS Table Gallery</a>.\r
 The gallery can serve as an inspiration for styling LiveGrids, however,\r
diff --git a/documentation/GridStyles_ja.html b/documentation/GridStyles_ja.html
deleted file mode 100644 (file)
index 432f1f9..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<title>Rico Grid Styles</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-</head>
-
-<body>
-<h1>グリッドスタイル</h1>
-
-<p>Rico LiveGrid と SimpleGrid のスタイルをカスタマイズすることは、非常に簡単です。
-実際に、LiveGrid と SimpleGrid は同じクラス名と DOM 構造の多くを共有するので、
-一方にあてはまるスタイルは他方に適用されることが出来ます。
-
-<h2>あらかじめ構成されたスタイル</h2>
-
-<p>Rico には、LiveGrid のためのいろいろなスタイルシートが付属します。
-PHP、ASP、.net または Perl のセクションの、最初の LiveGrid の実例を選択する事によって、
-それらがどのように見えるのかを知る事が出来ます。
-実例のページのトップで、あなたの気に入るものを見つけるために、
-それぞれの "style" セレクションを試して下さい。
-実際のスタイルシートは src/css ディレクトリにあります。
-
-<p>ここに、"Cursor Row" が設定される "highlight" を持つ、それぞれのスタイルのスクリーンショットがあります。
-
-<p><strong>greenHdg.css</strong>
-<br><img src='images/gridsamples/greenHdg.png'>
-
-<p><strong>tanChisel.css</strong>
-<br><img src='images/gridsamples/tanChisel.png'>
-
-<p><strong>grayedout.css</strong>
-<br><img src='images/gridsamples/grayedout.png'>
-
-<p><strong>coffee-with-milk.css</strong>
-<br><img src='images/gridsamples/coffee-with-milk.png'>
-
-<p><strong>warmfall.css</strong>
-<br><img src='images/gridsamples/warmfall.png'>
-
-<p><strong>iegradient.css</strong> <em>(Internet Explorer のみで動作します)</em>
-<br><img src='images/gridsamples/iegradient.png'>
-
-<p>これらのスタイルのいくつかは、<a href="http://icant.co.uk/csstablegallery/index.php">CSS Table Gallery</a> 
-から変更して作成されました。
-そのギャラリーは LiveGrid のスタイルのためのインスピレーションとして用いる事が出来ますが、
-ギャラリーの CSS は直接 LiveGrid に適用する事は出来ません。
-
-<h2>スタイルのカスタマイズ</h2>
-
-<p>利用出来るあらかじめ構成されたスタイルの種類でさえ、
-望む方法でデータを表示するためには、
-必然的にいくつかのスタイル宣言がオーバーライドされる必要があります。
-以下は、スタイルがオーバーライドされる事を必要とするいくつかの一般的な状況と、
-その問題を解決するために提案される CSS スタイルです。
-
-<h3>列見出しの行の高さ</h3>
-
-<p>列見出しが長すぎる時、
-一般的に 2 または 3 行のテキストとして語句を送る事を認めたいです。
-
-<p>2 行のテキストによる見出しの表示。
-<pre>
-.ricoLG_top div.ricoLG_cell {
-  height:2.5em;
-}
-</pre>
-
-<p>3 行のテキストによる見出しの表示。
-<pre>
-.ricoLG_top div.ricoLG_cell {
-  height:3.5em;
-}
-</pre>
-
-<h3>グリッドボディの行の高さ</h3>
-
-<p>同様に、長い内容を表示するために、グリッドボディのそれぞれの行を、
-より高くする必要があるかも知れません。
-
-<p>2 行のテキストによるボディ行の表示。
-<pre>
-.ricoLG_bottom div.ricoLG_cell {
-  height:2.5em;
-}
-</pre>
-
-<h3>ワードラップ</h3>
-
-<p>デフォルトで、ワードラップはそれぞれのグリッドセルで利用可能にされます。
-しかし、時にはワードラップをオフにする事は意味をなします。
-
-<p>見出しとボディでワードラップをオフにする。
-<pre>
-div.ricoLG_cell {
-  white-space:nowrap;
-}
-</pre>
-
-<p>ボディのみでワードラップをオフにする。
-<pre>
-.ricoLG_bottom div.ricoLG_cell {
-  white-space:nowrap;
-}
-</pre>
-
-<h3>グリッド全体への参照</h3>
-
-<p>時々、あなたはスタイルをグリッド全体に適用したいかもしれません。
-それぞれのグリッドは "ricoLG_outerDiv" クラスと共に &lt;div&gt; で囲まれ、
-id は "_outerDiv" を追加された LiveGrid コンストラクタに渡した id と等しい id です。
-(すなわち、最初の実例のグリッド id は "ex1_outerDiv" です)。
-このように、ページ上ですべてのグリッドにスタイルを適用する時はセレクタとして ".ricoLG_outerDiv" を、
-ex1 グリッドにのみスタイルを適用する時は "#ex1_outerDiv" 利用する事が出来ます。
-
-<p>グリッドの背景色を設定する。
-<pre>
-div.ricoLG_outerDiv {
-  background-color:aqua;
-}
-</pre>
-
-</body>
-</html>
index f7475ea..e75fad2 100644 (file)
@@ -19,17 +19,14 @@ p.comment {
 <body>\r
 <h1>Installing the Rico Examples</h1>\r
 \r
-<p><a href='InstallNotes_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='InstallNotes_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>Simply unzipping the Rico distribution file and copying the resulting\r
 directory structure into your web service's path should be sufficient to get\r
 most, if not all, of the examples running. If you have installed it into a\r
 directory called "rico" under the web service root, then you should be able\r
-to point your browser to the following address to access the examples:\r
-<blockquote><p>http://myserver.mydomain.com/rico/examples/</blockquote>\r
+to point your browser to the following address to access the examples and documentation:\r
+<blockquote><p>http://myserver.mydomain.com/rico/</blockquote>\r
 <p>Or if you installed it on your personal computer, then access it as:\r
-<blockquote><p>http://localhost/rico/examples/</blockquote>\r
+<blockquote><p>http://localhost/rico/</blockquote>\r
 \r
 <h2>File Locations</h2>\r
 \r
diff --git a/documentation/InstallNotes_ja.html b/documentation/InstallNotes_ja.html
deleted file mode 100644 (file)
index f5deca1..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<title>Installing the Rico Examples</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css" />
-<style type="text/css">
-tbody td {
-  font-size: 8pt;
-  vertical-align: top;
-}
-p.comment {
-  color: #888;
-}
-</style>
-</head>
-
-<body>
-<h1>Rico の実例のインストール</h1>
-
-<p>単にディストリビューションファイルを解凍し、
-その結果のディレクトリ構成をあなたのウェブサービスのパスへコピーすれば、
-すべてではありませんが実例を動作させる上でほとんど十分でしょう。
-あなたがウェブサービスのルートに "rico" と呼ばれているディレクトリをインストールしたならば、
-実例にアクセスするためにブラウザを以下のアドレスに向けることができるはずです。
-<blockquote>http://myserver.mydomain.com/rico/examples/</blockquote>
-<p>または、それをあなたのパソコン上にインストールしたならば、次のアドレスにアクセスして下さい。
-<blockquote>http://localhost/rico/examples/</blockquote>
-
-<p>IIS6 を実行しているサーバーでは、
-あなたは ASP の実例を走らせるためにセキュリティセッティングを変更する必要があります。
-特に、親ディレクトリでインクルードファイルを参照し、ASPファイルを利用可能にする必要があります。
-そうするために、以下のステップに従ってください。
-<ol>
-<li>ISS Manager を開いて下さい
-<li>"Default Web Site" で右クリックして、"Properties" をコンテキストメニューから選択して下さい。
-<li>"Home Directory" タブをクリックして下さい
-<li>"Configuration" ボタンをクリックしてください
-<li>新しいウィンドウの "Options" タブをクリックします。
-<li>"Enable parent paths" とラベルされたボックスをクリックして下さい
-</ol>
-
-<h2>LiveGrid の実例</h2>
-
-<p>LiveGrid の実例の多くが Northwind サンプルデータベースからのデータをフェッチします。
-これらの実例に動かすために、あなたは 2 つのことをする必要があります。
-<ol>
-<li>Northwindデータベースを作成してください
-<li>applib.* ファイルにあるデータベース接続設定を変更して下さい
-</ol>
-
-<h2>Northwindデータベースの作成</h2>
-
-<p>examples/data ディレクトリは、 Rico LiveGrid ASP、.net、および PHP の実例を実行するために必要な、
-いくつかの異なるフォーマットのデータベースを含みます。
-
-<p>データはこれらのフォーマットを提供します。
-
-<ol>
-<li>northwind.mdb - これはマイクロソフトによって提供された、標準の Northwind データベースで、
-例外として [Order Details] は Order_Details に改名されました。
-あなたが ASP または .net の実例にアクセスしているならば、データベース構成の変更は必要ではありません。
- -- それらの実例は Microsoft Jet driver を利用して、このデータベースに直接アクセスするでしょう。
-
-<li>mysql-northwind.sql - MySQLのためのバックアップファイル( MySQL version 4.1 によって作られました)
-
-<li>mysql-northwind-dblquote.sql - すべての \' インスタンスが '' に替えられた事以外は
-上記と同じです(バージョン 5 以上の MySQL に推奨されます)
-
-<li>ORA-EXPDAT.DMP - Northwind スキーマのための Oracle エクスポートファイル
- -- <a href='http://www.oracle.com/technology/products/database/xe/index.html'>Oracle XE</a> の "exp" ユーティリティによって生成されました。
- このスキーマのパスワードは "password" です。
-
-</ol>
-
-<p>MS SQL Server 2000 と 2005 用のバージョンは <a href='http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en'>msdn.microsoft.com</a> から
-自由にダウンロード出来ます。
-ダウンロードしたら、<a href='http://msdn2.microsoft.com/en-us/library/ms227484.aspx'>それをインストールするためのマイクロソフトのインストラクション</a>に従うべきです。
-最後に、[Order Details] テーブルを Order_Details に改名するか、Order_Details と言う名前のビューを次の SQL 文を利用して生成するかのどちらかを行う必要があるでしょう。
-<pre>
-
-create view Order_Details as select * from [Order Details]
-
-</pre>
-
-<h2>データベース接続設定</h2>
-
-<p>特定の命令はあなたの環境に依存します。
-<table border='1' cellspacing='0' cellpadding='3'>
-<thead><tr>
-<th>Database</th>
-<th>PHP</th>
-<th>ASP</th>
-<th>.net</th>
-<th>Perl</th>
-</tr></thead>
-<tbody>
-<tr><td>接続の設定は次の場所です。</td>
-<td>examples/php/applib.php</td>
-<td>examples/asp/applib.asp</td>
-<td>examples/dotnet/applib.ascx</td>
-<td>examples/perl/ricoXMLquery.pl</td>
-
-<tr><th>MySQL</th>
-<td>return $GLOBALS['oDB']->MySqlLogon( "northwind", "userid", "password");</td>
-<td>
-<p>oDB.Use_MySQL
-<p>oDB.SqlSvr="localhost"
-<p class='comment'>SqlLogon() の記述の中に、ユーザIDとパスワードを設定して下さい。
-<p class='comment'>MySQL 3.51 ODBC ドライバもインストールされていなければなりません。
-</td>
-<td>Public const dbDialect = "MySQL"
-<p class='comment'>サーバ名、ユーザIDとパスワードを OpenDB() に設定して下さい。
-<p class='comment'>MySQL 3.51 ODBC ドライバもインストールされていなければなりません。
-</td>
-<td>$dbh = DBI->connect( "dbi:mysql:northwind", "userid", "password");</td>
-
-<tr><th>SQL Server</th>
-<td>
-$oDB->Dialect="TSQL";
-<p>return $GLOBALS['oDB']->MSSqlLogon( "ServerName\InstanceName", "Northwind", "userid", "password");
-<p class='comment'>デフォルトインスタンスに接続するとき、InstanceName を省略してください。
-</td>
-<td>oDB.SqlSvr= "ServerName\InstanceName"
-<p class='comment'>デフォルトインスタンスに接続するとき、InstanceName を省略してください。
-<p class='comment'>SqlLogon() の記述の中に、ユーザIDとパスワードを設定して下さい。
-</td>
-<td>Public const dbDialect = "TSQL"
-<p class='comment'>サーバ名、ユーザIDとパスワードを OpenDB() に設定して下さい。</td>
-<td></td>
-
-<tr><th>MS Access</th>
-<td>
-$oDB->Dialect="Access";
-<p>return $GLOBALS['oDB']->OdbcLogon( "northwindDSN", "Northwind", "Admin", "");</td>
-<td>oDB.Use_Access Server.Mappath( "../data/northwind.mdb")
-<p class='comment'>これはデフォルトですので、変更は必要ありません。</td>
-<td>Public const dbDialect = "Access"
-<p class='comment'>これはデフォルトですので、変更は必要ありません。</td>
-<td></td>
-
-<tr><th>Oracle</th>
-<td>
-$oDB->Dialect="Oracle";
-<p>return $GLOBALS['oDB']->OracleLogon( "XE", "northwind", "password");</td>
-<td>oDB.Use_Oracle "XE"</td>
-<td>Public const dbDialect = "Oracle"
-<p class='comment'>サーバ名とパスワードを OpenDB() に設定して下さい。
-<td></td>
-
-<tr><th>DB2</th>
-<td><p class='comment'>サポート外です。</td>
-<td></td>
-<td>Public const dbDialect = "DB2"
-<p class='comment'>サーバ名、ユーザIDとパスワードを OpenDB() に設定して下さい。</td>
-<td></td>
-</tbody>
-</table>
-
-</body>
-</html>
index b750abe..471a2fb 100644 (file)
@@ -9,9 +9,6 @@
 <body>\r
 <h1>Creating a Rico LiveGrid</h1>\r
 \r
-<p><a href='LiveGrid_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='LiveGrid_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>Rico LiveGrid displays data in a scrolling table, with the data buffered in a \r
 2-dimensional JavaScript array. As the user scrolls\r
 vertically through the grid, data is dynamically copied from the array onto the grid.\r
index d677819..0e78c68 100644 (file)
@@ -21,9 +21,6 @@ dt span {
 <body>
 <h1>Rico LiveGrid AJAX</h1>
 
-<p><a href='LiveGridAjax_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='LiveGridAjax_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>One of the key features of the Rico LiveGrid is its ability to load data dynamically
 via AJAX. This document focuses on the format of the LiveGrid AJAX requests and responses. 
 More specifically, it is the LiveGrid <strong>Buffer</strong> object that is
diff --git a/documentation/LiveGridAjax_ja.html b/documentation/LiveGridAjax_ja.html
deleted file mode 100644 (file)
index 2ad1776..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
-<html>\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
-<title>Rico LiveGrid AJAX</title>\r
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">\r
-\r
-<style type="text/css">\r
-.request, .response {\r
-  border: 1px solid black;\r
-  background-color: #FFF8DC;\r
-  padding: 4px;\r
-}\r
-dt span {\r
-  font-weight:normal;\r
-  font-style:italic;\r
-}\r
-</style>\r
-</head>\r
-\r
-<body>\r
-<h1>Rico LiveGrid AJAX</h1>\r
-\r
-<p>Rico LiveGrid の鍵となる特徴の一つは AJAX を通して動的にデータをロードするその能力です。\r
-このドキュメントは、LiveGrid AJAX のリクエストとレスポンスのフォーマットに焦点を合わせます。\r
-より明確には、LiveGrid <strong>バッファ</strong>オブジェクトがリクエストを生成し、レスポンスを処理します。\r
-それで、もし支配外のウェブサービスからデータが来る状況下にいるなら、ウェブサービスと LiveGrid \r
-の間のインタフェースとして用いられるカスタム LiveGrid バッファクラスを作成して下さい。\r
-しかし、このドキュメントでは Rico ディストリビューションに付属するバッファクラスのリクエストと\r
-レスポンスのフォーマットに焦点を合わせます。\r
-\r
-<p>Rico ディストリビューションは 4 つの異なるバッファクラスを含みます。\r
-<dl>\r
-<dt>Rico.Buffer.Base\r
-<dd>AJAX では無い(すなわち XMLHttpRequest の呼び出しの無い)静的なデータセットの利用。\r
-データは HTML テーブル又は javascript 配列からロードされる事が出来ます。\r
-このバッファは AJAX を利用しないので、このドキュメントでこれ以上議論されません。\r
-<dt><a href='#AjaxXML'>Rico.Buffer.AjaxXML</a>\r
-<dd>すべての LiveGrid データは一回の AJAX の呼び出しでロードされ、データは XML フォーマットで返されます\r
-<dt><a href='#AjaxSQL'>Rico.Buffer.AjaxSQL</a>\r
-<dd>LiveGrid のデータは、ユーザがグリッドを通してスクロールすることにより、塊でロードされます\r
-<dt><a href='#AjaxJSON'>Rico.Buffer.AjaxJSON</a>\r
-<dd>レスポンスが JSON フォーマットである事を除いては AjaxSQL と同じです\r
-</dl>\r
-\r
-<h2><a name='AjaxXML'>Rico.Buffer.AjaxXML</a></h2>\r
-\r
-<p>AjaxXML バッファは、LiveGrid でユーザが行うスクロールの量を考慮しないで、\r
-一回の XMLHttpRequest の実行だけを行います。\r
-AjaxXML バッファは以下の javascript を利用して生成されます。\r
-\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxXML(url,options,ajaxOptions)\r
-</pre>\r
-\r
-<dl>\r
-<dt>url\r
-<dd>データプロバイダへの url を含んでいる文字列。\r
-<dt>options\r
-<dd>以下のどれかを含む Rico バッファオプションオブジェクト。\r
-\r
-<dl>\r
-<dt>bufferTimeout\r
-<dd>タイムアウトを示す前に待ちメッセージをユーザに表示すべきミリ秒の数を指定する整数\r
-デフォルトは 20000 (20 秒)。\r
-\r
-<dt>requestParameters\r
-<dd>XMLHttpRequest の検索文字列に加えられる "parm=value" の形の文字列の配列。\r
-\r
-<dt>isEncoded\r
-<dd>レスポンスが HTML エンコードされるかどうかを指定します。デフォルトは true です。\r
-Rico と共に提供されるすべてのプラグインは、レスポンスをエンコードします。\r
-\r
-<dt>waitMsg\r
-<dd>XMLHttpRequest レスポンスを待つ間ユーザに表示されるメッセージ。\r
-デフォルトは RicoTranslate.getPhraseById("waitForData")。\r
-これがイメージタグである事が出来る点に注意して下さい、例えば。\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxXML(\r
-  url,\r
-  {waitMsg: "&lt;img src='MySpinner.gif'&gt;"},\r
-  ajaxOptions);\r
-</pre>\r
-\r
-<dt>canFilter\r
-<dd>バッファがフィルタリングをサポートするかどうかを示す真偽値。デフォルトは true です。\r
-</dl>\r
-\r
-<dt>ajaxOptions\r
-<dd>Prototype の Ajax.Request メソッドに渡す \r
-<a href='http://prototypejs.org/api/ajax/options'>Ajax オプションオブジェクト</a>。\r
-"parameters" と "onComplete" オプションが指定されるならば、Rico によって利用され、\r
-エフェクトを持ちません。\r
-"method" オプションはデフォルトで "get" ですが、オーバーライドされる事が出来ます。\r
-</dl>\r
-\r
-ここに ex3livegridxml.php から取った実例があります。\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxXML('ricoXMLquery.php');\r
-ex3=new Rico.LiveGrid ('ex3', buffer, grid_options);\r
-</pre>\r
-\r
-<h3>AjaxXML リクエスト</h3>\r
-\r
-<p>grid_options.prefetchBuffer が true (それはデフォルトです)なら、グリッドの初期化の間に、\r
-ricoXMLquery.php からデータをフェッチする、一つの XMLHttpRequest が生成されます。\r
-この URL は、以下のクエリーストリング(検索)パラメータを含みます。\r
-\r
-<dl>\r
-<dt>id\r
-<dd>以前の実例 "ex3" の Rico.LiveGrid() の呼び出しで、\r
-最初のパラメータとして指定されたグリッドの id。\r
-<dt>offset\r
-<dd>返さなければならないデータセットの最初のレコード。 AjaxXML では常に "0" です。\r
-<dt>page_size\r
-<dd>データセットで返されなければならないレコードの数。\r
-AjaxXML では常に "-1" で、すべてのレコードが返されなければならない事を意味します。\r
-</dl>\r
-\r
-<p>加えて、options.requestParameters が指定されるならば、それらもまた含まれる事になります。\r
-そして、ex3 のためのデータのフェッチに利用される完全な URL は、次の通りです。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex3&amp;offset=0&amp;page_size=-1\r
-</pre>\r
-\r
-<h3><a name='AjaxXMLresponse'>AjaxXML レスポンス</a></h3>\r
-\r
-<p>ここに ex3 の LiveGrid を実装するサンプルのレスポンスがあります。\r
-\r
-<pre class='response'>\r
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
-&lt;ajax-response&gt;\r
-  &lt;response type='object' id='ex3_updater'&gt;\r
-    &lt;rows update_ui='true' offset='0'&gt;\r
-    &lt;tr&gt;&lt;td&gt;Data for row 1, cell 1&lt;/td&gt;&lt;td&gt;Data for row 1, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-    &lt;tr&gt;&lt;td&gt;Data for row 2, cell 1&lt;/td&gt;&lt;td&gt;Data for row 2, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-    &lt;/rows&gt;\r
-    &lt;rowcount&gt;2&lt;/rowcount&gt;\r
-    &lt;debug&gt;Generated by test server&lt;/debug&gt;\r
-  &lt;/response&gt;\r
-&lt;/ajax-response&gt;\r
-</pre>\r
-\r
-<p>リクエストハンドラでレスポンスを作成する時に、レスポンスヘッダの content-type に \r
-text/xml を設定しなければなりません。\r
-xml バージョンと<a href='http://www.opentag.com/xfaq_enc.htm'>文字エンコーディング</a>も指定する必要があります。\r
-エンコーディングの値は非常に重要で、環境に依存します。\r
-二つの一般的な値は "UTF-8" と "iso-8859-1" です。\r
-Java Server Pages (JSP) で、最初の 2、3 行がどのように見えるかは、ここにあります。\r
-<pre>\r
-&lt;% response.setHeader(“Content-Type”, “text/xml”); %&gt;\r
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
-</pre>\r
-\r
-そして、これは PHP ではそれらがどのように見えるかです。\r
-<pre>\r
-header("Content-type: text/xml");\r
-echo "&lt;?xml version='1.0' encoding='UTF-8'?"."&gt;\n";\r
-</pre>\r
-\r
-<p>Ajax レスポンスについての、いくつかの重要なアイテムに注意して下さい。\r
-\r
-<p>最初に、レスポンスは &lt;ajax-response&gt;&lt;/ajax-response&gt; タグで囲まれます。\r
-すべての Rico Ajax レスポンスは、返す XML の root に、この要素を持たなければなりません。\r
-第二に、レスポンスは ajax-response の範囲内に含まれる事に注意して下さい。\r
-レスポンスタグ(&lt;response&gt;&lt;/response&gt;)はレスポンスの内容を囲みます。\r
-&lt;response&gt; タグの type と id 属性は、Rico 1.1 では必要とされていましたが、Rico 2.0 では無視されます。\r
-最後に、&lt;rowcount&gt; 要素に注意して下さい。\r
-これはデータセットの総行数を指定します。\r
-AjaxXML レスポンスにおいて、これは &lt;tr&gt; 要素の数と一致するはずです。\r
-\r
-<p>デバッグタグ(&lt;debug&gt;&lt;/debug&gt;)は任意です。\r
-レスポンスはそれらを 0、1、またはそれ以上含むかもしれません。\r
-それぞれのデバッグタグの内容は、Rico の<a href='LiveGrid.html#debug'>メッセージログ機能</a>へ送られます。\r
-Rico プラグインは、ricoXMLquery.php/asp/aspx で ricoXmlResponse.sendDebugMsgs を true に設定することにより、\r
-実行された実際の SQL クエリを返す事が出来ます。\r
-これは、開発の間はとても役に立ちますが、セキュリティーリスク(ユーザに実際のテーブルと列の名前を見せる)\r
-となるので、製品においては削除しなければなりません。\r
-\r
-<p>リクエストの進行中にサーバでエラーが発生するなら、サーバはエラーメッセージを &lt;error&gt;&lt;/error&gt; \r
-タグで囲んでユーザにエラー情報を返す事が出来ます。\r
-例えば。\r
-\r
-<pre class='response'>\r
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
-&lt;ajax-response&gt;\r
-  &lt;response type='object' id='ex3_updater'&gt;\r
-    &lt;rows update_ui='true' offset='0'&gt;\r
-    &lt;/rows&gt;\r
-    &lt;rowcount&gt;0&lt;/rowcount&gt;\r
-    &lt;error&gt;Unable to retrieve the data&lt;/error&gt;\r
-  &lt;/response&gt;\r
-&lt;/ajax-response&gt;\r
-</pre>\r
-\r
-<p>&lt;error&gt; タグが存在すると、いかなる行データや rowcount も無視されます。\r
-このように、エラーを返す時には &lt;rows&gt; と &lt;rowcount&gt; は含まれる事や省略される事が出来ます。\r
-エラーが発生する時、Rico プラグインはデータベース生成エラーを送ります。\r
-\r
-<h2><a name='AjaxSQL'>Rico.Buffer.AjaxSQL</a></h2>\r
-\r
-<p>AjaxSQL バッファは、AjaxXML バッファにより提供される能力を拡張します。\r
-コンセプトの多くは同じですが、AjaxSQL バッファはより複雑です。\r
-クエリ結果は、一回のレスポンスですべての行を返すのでは無く、塊でバッファに返されます。\r
-また、AjaxSQL バッファはサーバ上でフィルタとソートが発生すると考えられます。\r
-そして、フィルタとソートのパラメータはそれぞれのリクエストに送られなくてはならず、\r
-サーバはそれらのパラメータを正しく処理しなければなりません。\r
-幸いにも、Rico プラグインは、あなたのためにこの複雑さを解決します。\r
-\r
-<p>AjaxSQL バッファは以下の javascript を利用して作成されます。\r
-\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxSQL(url,options,ajaxOptions)\r
-</pre>\r
-\r
-ここに ex2simple.php から取った実例があります。\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxSQL(\r
-  'ricoXMLquery.php', \r
-  {TimeOut:&lt;? print array_shift(session_get_cookie_params())/60 ?&gt;});\r
-orderGrid=new Rico.LiveGrid ('ex2', buffer, opts);\r
-</pre>\r
-\r
-<dl>\r
-<dt>url\r
-<dd>データプロバイダへの url を含んでいる文字列。\r
-<dt><a name='AjaxSQLoptions'>options</a>\r
-<dd>以下のどれかを含む Rico バッファオプションオブジェクト。\r
-\r
-<dl>\r
-<dt>bufferTimeout\r
-<dd>タイムアウトを示す前に待ちメッセージをユーザに表示すべきミリ秒の数を指定する整数。\r
-デフォルトは 20000 (20 秒)。\r
-\r
-<dt>requestParameters\r
-<dd>XMLHttpRequest の検索文字列に加えられる "parm=value" の形の文字列の配列。\r
-\r
-<dt>isEncoded\r
-<dd>レスポンスが HTML エンコードされるかどうかを指定します。デフォルトは true です。\r
-Rico と共に提供されるすべてのプラグインは、レスポンスをエンコードします。\r
-\r
-<dt>waitMsg\r
-<dd>XMLHttpRequest レスポンスを待つ間ユーザに表示されるメッセージ。\r
-デフォルトは RicoTranslate.getPhraseById("waitForData")。\r
-これがイメージタグである事が出来る点に注意して下さい、例えば。\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxXML(\r
-  url,\r
-  {waitMsg: "&lt;img src='MySpinner.gif'&gt;"},\r
-  ajaxOptions);\r
-</pre>\r
-\r
-<dt>canFilter\r
-<dd>バッファがフィルタリングをサポートするかどうかを示す真偽値。デフォルトは true です。\r
-\r
-<dt>largeBufferSize\r
-<dd>バッファのサイズを設定するために利用されます。デフォルトは 7 です。\r
-実際のバッファサイズは「(グリッドの表示行数)* largeBufferSize」に設定されますが、少なくとも 50 です。\r
-そして、4 行を表示するグリッドは 50 のサイズの最小のバッファを手にいれますが、\r
-一方 30 行を表示するグリッドは 210 のサイズを持ちます。\r
-\r
-<dt>nearLimitFactor\r
-<dd>ユーザがバッファの最後付近にスクロールした時、データの新しいリクエストのトリガーを決定するのに利用されます。\r
-デフォルトは 1 です。\r
-nearLimit の値は「(グリッドの表示行数)* nearLimitFactor」に設定されます。\r
-\r
-<dt>TimeOut\r
-<dd>Rico プラグインは SQL クエリを\r
-<a href='http://www.talkphp.com/general/1077-understanding-life-session.html'>セッション変数</a>に保管します。\r
-サーバはセッションが有効な間だけはデータのリクエストに返答する事が出来ます。\r
-TimeOut オプションはセッションが存続する時間を測るために利用されます。\r
-option.TimeOut が指定され、document に id が "MyGridId_timer" の html 要素があるなら、\r
-その要素の innerHTML はセッションが存続する時間で実装されます。\r
-TimeOut の値は分で指定され、デフォルトを持ちません。\r
-\r
-<dt><a name='sortParmFmt'>sortParmFmt</a>\r
-<dd>セットされるならば、sortParmFmt は Rico 列オブジェクトの属性の名前でなければなりません。\r
-Rico 1.1 互換のフォーマットでリクエストを生成するために、"displayName" を設定して下さい。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;sort_col=Column0&amp;sort_dir=ASC\r
-</pre>\r
-リクエストをこのフォーマットで生成するために、"index" を設定して下さい。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;sort_col=0&amp;sort_dir=ASC\r
-</pre>\r
-指定しない(デフォルト)時、ソートパラメータは、このフォーマットで送信されます('s' に続く列番号)。\r
-これは、Rico プラグインが期待するものです。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;s0=ASC\r
-</pre>\r
-</dl>\r
-\r
-<dt>ajaxOptions\r
-<dd>Prototype の Ajax.Request メソッドへ渡される <a href='http://prototypejs.org/api/ajax/options'>Ajax オプションオブジェクト</a>。\r
-"parameters" と "onComplete" オプションは Rico によって利用され、指定されたとしても効果がありません。\r
-"method" オプションのデフォルトは "get" ですが、オーバーライドされる事が出来ます。\r
-</dl>\r
-\r
-\r
-\r
-<h3><a name='AjaxSQLrequests'>AjaxSQL リクエスト</a></h3>\r
-\r
-<p>AjaxSQL バッファがより多くのデータを必要とするたびに XMLHttpRequest は生成されます。\r
-offset と page_size パラメータによって指定されるように、データは塊でリクエストされます。\r
-これは、LiveGrid が効率的に何十万ものレコードを表示する事を可能にします。\r
-なぜなら、どんな時でもクライアントサイドバッファに、それらのレコードの小さな部分だけが記録されているからです。\r
-この URL は以下のクエリーストリング(検索)パラメータを含みます。\r
-\r
-<dl>\r
-<dt>id\r
-<dd>以前の実例 "ex2" の Rico.LiveGrid() の呼び出しで、最初のパラメータとして指定されたグリッドの id。\r
-\r
-<dt>offset\r
-<dd>返さなければならないデータセットの最初のレコード。 AjaxXML では常に "0" です。\r
-\r
-<dt>page_size\r
-<dd>データセットで返されなければならないレコードの数。\r
-AjaxXML では常に "-1" で、すべてのレコードが返されなければならない事を意味します。\r
-\r
-<dt>get_total\r
-<dd>true なら、そのレスポンスは、指定されたフィルタと共に(リクエストされた塊だけで無く)\r
-データセットの総行数を含む &lt;rowcount&gt; 要素を含むはずです。\r
-"get_total=true" は、どんな時にユーザがフィルタを変更しても、\r
-グリッドを実装するための最初のリクエストの間に送られます。\r
-\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;get_total=true\r
-</pre>\r
-\r
-<dt>sX <span>( X は列の数です)</span>\r
-<dd>列 X によってソートされるべき結果を指定します。\r
-パラメータは ASC または DESC です。\r
-<a href='#sortParmFmt'>options.sortParmFmt</a> も見て下さい。\r
-たとえ、このパラメータのフォーマットが一度に複数列をソートする事を理論的に許すとしても、\r
-それは現在の LiveGrid UI では不可能です。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;s0=ASC\r
-</pre>\r
-\r
-<dt>f[X][op] <span>( X は列の数です)</span>\r
-<dd>列 X に適応されているフィルタオペレータを指定します。\r
-パラメータは以下の内の一つです。EQ(等しい)、NE(等しく無い)、GE(以上)、LE(以下)、LIKE、NULL、NOTNULL\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;f[0][op]=EQ\r
-</pre>\r
-\r
-<dt>f[X][len] <span>( X は列の数です)</span>\r
-<dd>供給されているフィルタの値の数を指定します。\r
-これは EQ、GE、LE、そして LIKE フィルタオペレータでは 1 です。\r
-これは NULL そして NOTNULL オペレータでは 0 です。\r
-これは NE では 1 またはそれ以上です。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;f[0][op]=EQ&amp;f[0][len]=1\r
-</pre>\r
-\r
-<dt>f[X][Y] <span>( X は列の数です)</span>\r
-<dd>EQ、NE、GE、LE、そして LIKE フィルタオペレータのフィルタの(複数の)値を指定します。\r
-Y は 0 から f[X][len]-1 の範囲です。\r
-LIKE オペレータでの '*' は ワイルドカードとして扱われ、\r
-それは Rico プラグインによって多くのデータベースのために '%' に変換されます。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;...&amp;f[0][op]=EQ&amp;f[0][len]=1&amp;f[0][0]=Column0Value\r
-</pre>\r
-</dl>\r
-\r
-<p>加えて、options.requestParameters が指定されるならば、それらもまた含まれる事になります。\r
-そして、ex2 のためのデータのフェッチに利用される完全な URL は、次の通りでしょう。\r
-<pre class='request'>\r
-ricoXMLquery.php?id=ex2&amp;offset=0&amp;page_size=28\r
-</pre>\r
-\r
-\r
-<h3>AjaxSQL レスポンス</h3>\r
-\r
-<p>AjaxSQL レスポンスのフォーマットは、<a href='#AjaxXMLresponse'>AjaxXML レスポンス</a>と全く同じです。\r
-\r
-<h2><a name='AjaxJSON'>Rico.Buffer.AjaxJSON</a></h2>\r
-\r
-<p>AjaxJSON バッファは Jeremy Green により作成された AjaxSQL バッファの拡張です。\r
-AjaxJSON バッファは、以下の javascript を利用して作成されます。\r
-\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxJSON(jsonUrl,options)\r
-</pre>\r
-\r
-<dl>\r
-<dt>url\r
-<dd>JSON データプロバイダへの url を含んでいる文字列。\r
-\r
-<dt>options\r
-<dd>Rico バッファオプションオブジェクト。\r
-AjaxJSON で利用出来る値は <a href='#AjaxSQLoptions'>AjaxSQL</a> のそれらと同じです。\r
-</dl>\r
-\r
-\r
-<h3>AjaxJSON リクエスト</h3>\r
-\r
-<p>AjaxJSON リクエストのフォーマットは、<a href='#AjaxSQLrequests'>AjaxSQL リクエスト</a>と全く同じです。\r
-\r
-\r
-<h3>AjaxJSON レスポンス</h3>\r
-\r
-<p>ここに JSON フォーマットによる LiveGrid レスポンスの実例があります。\r
-\r
-<pre class='response'>\r
-{\r
-  "update_ui":"true",\r
-  "offset":"0",\r
-  "rowCount":"20",\r
-  "rows":[\r
-            {"id":"1","name":"Bob"},\r
-            {"id":"2","name":"Bill"}\r
-         ]\r
-}\r
-</pre>\r
-\r
-<p>そのフォーマットは Rico.Buffer.AjaxSQL バッファによって消費される XML に基づくデータに密接に従い、\r
-そしてそれによってすべての値は返されるべきです。\r
-データオブジェクトの 'rows' の値オブジェクトは、行を表す JS ハッシュであるそれぞれの要素による通常の JS 配列です。\r
-ハッシュの key/value の組み合わせは colName/colValue であるべきです。\r
-\r
-\r
-</body>\r
-</html>\r
index f1f0762..c26bfbb 100644 (file)
@@ -9,9 +9,6 @@
 <body>\r
 <h1>Using Rico LiveGrid Forms</h1>\r
 \r
-<p><a href='LiveGridForms_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='LiveGridForms_ja.html'>View this page in Japanese</a></p>\r
-\r
 <h2>OVERVIEW</h2>\r
 \r
 <p>While this document just refers to ASP, identical functionality is provided\r
diff --git a/documentation/LiveGridForms_ja.html b/documentation/LiveGridForms_ja.html
deleted file mode 100644 (file)
index 95801fc..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
-<html>\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
-<title>Rico LiveGrid Forms</title>\r
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">\r
-</head>\r
-\r
-<body>\r
-<h1>Rico LiveGrid フォームの利用</h1>\r
-\r
-<h2>概要</h2>\r
-\r
-<p>このドキュメントがちょうど ASP に言及すると同時に、同一の機能が PHP と .net プラグインによって提供されます。\r
-\r
-<ol>\r
-<li>ricoLiveGridForms.vbs を含む、新しい ASP ファイルを作成して下さい。\r
-\r
-<li>新しい ASP で、編集されるテーブルのそれぞれのフィールドを定義して下さい - 通常はフィールドごとに 1-3 行。\r
-\r
-<li>結果として ASP は、適当なグリッドを作成するだけで無く、隠された div に入力フォームを生成します。\r
-\r
-<li>その ASP は "レコードの追加/編集/削除" のエントリもポップアップメニューに追加します。\r
-\r
-<li>追加または編集が選択された時、そのフォームは表示されます(編集が選択されれば、項目が満たされます)\r
-\r
-<li>ユーザが保存ボタンをクリックする時、そのフォームは元の ASP に黙ってポストバックします。\r
-\r
-<li>ASP はデータベースにデータを保存し、クライアントにレスポンスを送り返します。\r
-\r
-<li>クライアントは、成功または失敗のメッセージをブックマークエリアに表示します\r
-</ol>\r
-\r
-<p>以下の二つの図解は、LiveGrid フォームページで、そしてフォームの無い LiveGrid ページで、\r
-どのようにリクエストとレスポンスが流れるかについて表示します。\r
-その二つの図解は ASP/PHP とラベルされていますが、.net にも適用されます(.net には dbClass2 が無い事を除いて)。\r
-<p><img src='images/asp-php-structure1.jpg'>\r
-<p><img src='images/asp-php-structure2.jpg'>\r
-\r
-<h2>使い方</h2>\r
-\r
-<p>このクラスは、一つのテーブルのレコードの表示、挿入、更新そして削除をするのに、\r
-必要なすべての機能を提供します。ASP スクリプトは、次の手順に従わなければなりません。\r
-\r
-\r
-<ol>\r
-<li>クラスのインスタンスを一つ作成して下さい\r
-<pre>set oForm=new TableEditClass</pre>\r
-\r
-<li>SetTableName メソッドを呼んで下さい\r
-<pre>oForm.SetTableName "customer"</pre>\r
-\r
-<li>任意に CanAdd、CanEdit、CanDelete、ConfirmDelete および/または 必要に応じて RecordName プロパティを設定して下さい\r
-<pre>\r
-oForm.options("canAdd")=CanAdd\r
-oForm.options("canEdit")=CanModify\r
-oForm.options("canDelete")=CanDelete\r
-</pre>\r
-<li>TableName がビューであるか、またはプライマリーキーが定義されていない場合、編集は利用不能です\r
-<li>テーブルとフォームビューに見えるフィールドを、次の例外と共に、フィールドおよび列に表示するために、 \r
-      AddEntryField または AddCalculatedField を呼んで下さい。\r
-<ul>\r
-<li>エントリタイプ H は、決してクライアントへ送信されません。定義されたデフォルト値を取得してデータベースへ書き込みます。\r
-<li>FormView フィールドプロパティに "exclude" がセットされていれば、そのフィールドはテーブルだけに表示されます。\r
-<li>FormView フィールドプロパティに "hidden" がセットされていれば、そのデータは隠れたフォームフィールドに設定されます。\r
-<li>計算されたフィールドはテーブルビューにだけ表示されます(FormView=exclude と同じです)\r
-</ul>\r
-\r
-<li>AddEntryField または AddCalculatedField のそれぞれの呼び出しの後、他のメソッドとプロパティは、\r
-      どのようにしてユーザにフィールドを表示するかを、コントロールするために起動する事が出来ます(例えば SortAsc)\r
-      これらのプロパティおよびメソッドの呼び出しは、最も最近追加されたフィールドのみに適用されます。\r
-<li>DisplayPage を呼び出します - これはグリッドを表示するか、データベースの更新を実行します。\r
-<pre>oForm.DisplayPage</pre>\r
-</ol>\r
-\r
-\r
-<h2>タブフォーム</h2>\r
-\r
-<p>複数パネルや複数タブを持つフォームは Rico アコーディオンクラスを利用して、完全にサポートされます。\r
- そのパネルのフィールドを定義するために、AddEntryField を呼ぶ前に、単に AddPanel を呼ぶだけです。\r
- 例えば。\r
-<pre>\r
-' these fields appear on the first panel\r
-oForm.AddPanel "Panel #1"\r
-oForm.AddEntryField "field1", "Field #1", "T", ""\r
-oForm.AddEntryField "field2", "Field #2", "T", ""\r
-oForm.AddEntryField "field3", "Field #3", "T", ""\r
-\r
-' these fields appear on the second panel\r
-oForm.AddPanel "Panel #2"\r
-oForm.AddEntryField "field4", "Field #4", "T", ""\r
-oForm.AddEntryField "field5", "Field #5", "T", ""\r
-oForm.AddEntryField "field6", "Field #6", "T", ""\r
-</pre>\r
-\r
-<p>あるいは panelIdx プロパティは、それが定義されるように、それぞれのフィールドにセットされる事が出来ます。\r
-この場合、DisplayPage の前にいつでも AddPanel は呼ばれる事が出来ます。\r
-<pre>\r
-' these fields appear on the first panel\r
-oForm.AddEntryField "field1", "Field #1", "T", ""\r
-oForm.CurrentField("panelIdx")=0\r
-oForm.AddEntryField "field2", "Field #2", "T", ""\r
-oForm.CurrentField("panelIdx")=0\r
-oForm.AddEntryField "field3", "Field #3", "T", ""\r
-oForm.CurrentField("panelIdx")=0\r
-\r
-' these fields appear on the second panel\r
-oForm.AddEntryField "field4", "Field #4", "T", ""\r
-oForm.CurrentField("panelIdx")=1\r
-oForm.AddEntryField "field5", "Field #5", "T", ""\r
-oForm.CurrentField("panelIdx")=1\r
-oForm.AddEntryField "field6", "Field #6", "T", ""\r
-oForm.CurrentField("panelIdx")=1\r
-\r
-oForm.AddPanel "Panel #1"\r
-oForm.AddPanel "Panel #2"\r
-</pre>\r
-\r
-\r
-<h2>フォームメソッド</h2>\r
-<dl>\r
-  <dt>AddPanel "パネルの見出し"\r
-  <dd>入力フォーム上で、タブパネルのための見出しを定義します。\r
-\r
-  <dt>DisplayPage\r
-  <dd>グリッドを表示するか、"action" の値に応じてデータベースを更新します。\r
-\r
-  <dt><a name='DefineAltTable'></a>DefineAltTable (TableName, FieldList, FieldData, Delim)\r
-  <dd>次の <a href='#AltTable'>AltTable</a> の呼び出しで利用される TabId を返す関数。\r
-  関連のあるフィールドの追加を記録するために、二番目のテーブルを定義して下さい。\r
-  メインテーブルのキーフィールド(達)も、 AltTable に存在べきです。\r
-  FieldList と FieldData は、二番目のテーブルに記録される定数や固定された関数を、\r
-  追加で定義する区切られた文字列です。\r
-  Delim は、FieldList と FieldData で利用されるデリミタキャラクタを定義します。\r
-  FieldList と FieldData は、同じ数の区切られたエントリを含まなければなりません。\r
-\r
-  <dt>genXHTML\r
-  <dd>純粋な XHTML アウトプットを生成するために呼び出して下さい。\r
-\r
-  <dt>SetDbConn (dbcls)\r
-  <dd>dbClass を利用するためのインスタンスを定義します\r
-  oDB と言う名前のグローバルインスタンスが存在するのなら、このメソッドの呼び出しをしないでも利用する事が出来るでしょう。\r
-</dl>\r
-\r
-\r
-<h2>フォームプロパティ</h2>\r
-\r
-<p>これら LiveGrid フォーム特有のものに加えて、すべての <a href="LiveGrid.html#options">LiveGrid</a> のオプションはプロパティとしてサポートされています。\r
-\r
-<dl>\r
-\r
-<dt>action (read only)\r
-<dd>実行されているカレントアクションを指定します。table、ins、upd、del\r
-\r
-<dt>gridVar (read only)\r
-<dd>クライアントサイドの LiveGrid オブジェクトの名前を返します\r
-\r
-<dt>bufferVar (read only)\r
-<dd>クライアントサイドの LiveGrid バッファオブジェクトの名前を返します\r
-\r
-<dt>AutoInit\r
-<dd>自動的にグリッドを初期化します(データの行を作成)\r
-    デフォルトは true です\r
-\r
-<dt>InitScript (read only)\r
-<dd>グリッドを初期化するための javascript コードを(文字列として)返します(AutoInit が false の時に利用する)\r
-\r
-<dt>TableFilter\r
-<dd>テーブルビューで利用される節がどこかを指定します(オプションの)\r
-<pre>\r
-// only show records for the logged in user\r
-$oForm->TableFilter = "userid=$myuserid";\r
-</pre>\r
-\r
-<dt>canAdd\r
-<dd>ユーザが新しいレコードを追加する事を許可する、デフォルトは true\r
-<dt>canEdit\r
-<dd>ユーザがレコードを編集する事を許可する、デフォルトは true\r
-<dt>canDelete\r
-<dd>ユーザがレコードを削除する事を許可する、デフォルトは true\r
-<dt>canClone\r
-<dd>ユーザがレコードを複製する事を許可する(既存のレコードの編集するが、新規で保存する)デフォルトは false\r
-\r
-<dt>updateURL\r
-<dd>この位置へのポストアップデートを行います、デフォルトはグリッドを生成したページ\r
-\r
-<dt>ConfirmDelete\r
-<dd>ユーザが削除ボタンをクリックした後で、確認のポップアップを表示するかどうかを指定するフラグ、\r
-    デフォルトは true \r
-    (<a href='#ConfirmDeleteCol'>ConfirmDeleteCol</a> も見て下さい)\r
-\r
-<dt>DebugFlag\r
-<dd>デバッグメッセージを表示します、デフォルトは false\r
-\r
-<dt>RecordName\r
-<dd>追加、編集および削除タイトルタグのカスタマイズ用の文字列、\r
-    デフォルトは "Record"\r
-\r
-<dt>SelectMaxLen\r
-<dd>セレクトボックスの文字数の最大値、デフォルトは 50。\r
-\r
-<dt>TableName (write only)\r
-<dd>表示/編集されるテーブルまたはビュー(必須)\r
-\r
-<dt>TableSelectNew\r
-<dd>EntryType が N のフィールドの、新しい値を作成するためにユーザが選択した時に、\r
-識別するために用いる文字列。デフォルトは "___new___"。\r
-\r
-<dt>showSaveMsg\r
-<dd>データベースの更新レスポンスの処理。\r
-<ul>\r
-<li>full - すべてのレスポンスを表示する\r
-<li>errors - エラーに関するすべてのレスポンスか、そうで無い場合は短いレスポンスを表示する(デフォルト)\r
-</ul>\r
-</dd>\r
-\r
-<dt style='color:navy;'><em>入力フォームで、タブパネルを利用する時。</em>\r
-\r
-<dt>panelWidth\r
-<dd>タブパネルのピクセル単位の幅。デフォルトは 500。\r
-\r
-<dt>panelHeight\r
-<dd>タブパネルのピクセル単位の高さ。デフォルトは 200。\r
-\r
-<dt>hoverClass\r
-<dd>タブパネルの上をホバーする時の CSS クラス。デフォルトは "tabHover"。\r
-\r
-<dt>selectedClass\r
-<dd>タブパネルを選択する時の CSS クラス。デフォルトは "tabHover"。\r
-\r
-</dl>\r
-\r
-\r
-<h2>フォームイベント</h2>\r
-\r
-<p>いくつかのフォームイベントをフックする事が可能です。\r
-\r
-<dl>\r
-<dt>formOpen\r
-<dd>入力フォームが表示される時、始動します。\r
-<pre>\r
-oForm.options("formOpen")=\r
-  "alert('Questions? Please call the support desk.');"\r
-</pre>\r
-\r
-<dt>formClose\r
-<dd>入力フォームが閉じられてすぐに、始動します。\r
-\r
-<dt>onSubmitResponse\r
-<dd>フォームがサーバに送信され、レスポンスを受け取って処理された後で、起動されます。\r
-\r
-</dl>\r
-\r
-\r
-<h2>フィールド定義メソッド</h2>\r
-<dl>\r
-<dt>AddEntryField (ColumnName, Heading, EntryTypeCode, DefaultValue)\r
-<dd>グリッドへ新しい列と、ASP と PHP でのポップアップフォームにより新しいエントリフィールドを追加します。\r
-  <dl>\r
-\r
-  <dt>ColumnName\r
-  <dd>データベーステーブルの列名(空白や角括弧を含む SQL をサポートしません、例えば [Apr 2005] )\r
-\r
-  <dt>Heading\r
-  <dd>グリッドの列見出しやポップアップフォーム上に現れる名前\r
-\r
-  <dt>EntryTypeCode\r
-  <dd>どのように入力フォーム上に列が表示されるかについて、コントロールするコードを含む文字列\r
-\r
-    <ul>\r
-    <li><strong>S</strong>:\r
-    データエントリ中のドロップダウンセレクトリストとして、この列を表示します。\r
-    "SelectValues" または "SelectSql" オプションを利用して指定された値です。\r
-    どちらも指定されなければ、列の値は "select distinct" クエリを利用して得られます。\r
-    <li><strong>R</strong>: ラジオボタンを利用してアイテムが表示される以外は "S" と同じです。\r
-    <li><strong>SL,RL</strong>: \r
-    テーブルビューに検索された値を表示する以外は、S & R と同じです\r
-    (SelectSql により指定されたクエリを利用して)。\r
-    外部キーの列で典型的に利用されます。\r
-    表示する値を取得するための SQL は "SelectSql" オプションを利用して指定します。\r
-    <li><strong>CL</strong>: \r
-    カスタムコントロールを利用して値が選択される以外は "SL" と同じです\r
-    (Rico ツリーコントロールのような)。\r
-    SelectCtl オプションは、カスタムコントロールの id を割り当てられるべきです。\r
-    <li><strong>N</strong>:\r
-    "S" と同じですが、ユーザが新しい値を作成する事を許します。\r
-    典型的には "SelectValues" または "SelectSql" オプション <em>無し</em> で利用されます。\r
-    <li><strong>H</strong>:   列はユーザから隠されます(DefaultValue が、追加と編集でテーブルに保管されます)\r
-    <li><strong>D</strong>:   これはデータフィールドです(列が null を許していたら、空白が許されます)\r
-    <li><strong>DT</strong>:  時間も含む以外は D と同じです\r
-    <li><strong>I</strong>:   整数値(列が null を許していて、false が必要とされるなら、空白が許されます)\r
-    <li><strong>F</strong>:   浮動小数点数(列が null を許していて、false が必要とされるなら、空白が許されます)\r
-    <li><strong>B</strong>:   空白の無いテキストフィールド(フィールドが空で保存をクリックするとき、ユーザはフォームビューでのポップアップメッセージを取得します)\r
-    <li><strong>T</strong>:   標準テキストフィールド(空白が許されます)\r
-    <li><strong>TA</strong>:  テキストエリアフィールド\r
-    <li><strong>tinyMCE</strong>:  <a href="http://tinymce.moxiecode.com/">tinyMCE</a> \r
-    ライブラリを利用するリッチテキスト編集フィールド。\r
-    </ul>\r
-\r
-  <dt>DefaultValue\r
-  <dd>フォームビューでの列のデフォルト値\r
-  </dl>\r
-\r
-  <p>.net で AddEntryField() と同等なのは、マークアップの一部として列フィールドを宣言する事です。\r
-  "ColData" 属性はデフォルト値を含みます。\r
-  ex2edit.aspx からの例は、ここにあります。\r
-<pre>\r
-&lt;Rico:Column runat='server' heading='Order#' width='60' \r
-             ColName='OrderID' EntryType='B' ColData='&lt;auto&gt;' /&gt;\r
-</pre>\r
-\r
-<dt>AddEntryFieldW (ColumnName, Heading, EntryTypeCode, DefaultValue, ColWidth)\r
-<dd>列の(ピクセルでの)幅のためのエクストラパラメータが追加される以外は AddEntryField と同じです。\r
-\r
-<dt>AddCalculatedField (ColumnFormula, Heading)\r
-<dd>ColumnFormula は、どれも妥当な SQL 式またはサブクエリです。\r
-    サブクエリが表示されているテーブルの列への参照を必要としているなら、\r
-    列名はエイリアス "t." で始まらなくてはなりません\r
-    計算されたフィールドは、フォームビューでは無く、テーブルビューに表示されます。\r
-\r
-<dt>AddFilterField (ColumnName, FilterValue)\r
-<dd>ColumnName=FilterValue の内容のレコードを表示するだけです。\r
-    隠れたフィールドになります(エントリタイプ H)。\r
-\r
-<dt><a name='ConfirmDeleteCol'></a>ConfirmDeleteCol\r
-<dd>最も最近追加された列の内容は、削除確認メッセージに含まれます\r
-\r
-<dt>SortAsc\r
-<dd>テーブルビューにて昇順で列をソートします(最も最近追加されたフィールドに適応されます)\r
-\r
-<dt>SortDesc\r
-<dd>テーブルビューにて降順で列をソートします(最も最近追加されたフィールドに適応されます)\r
-\r
-</dl>\r
-\r
-\r
-<h2>フィールド定義プロパティ</h2>\r
-\r
-<p>これらの LiveGrid フォーム特有のものに加えて、すべての <a href="LiveGrid.html#column">LiveGrid</a> 列プロパティはサポートされます。\r
-\r
-<dl>\r
-\r
-<dt>AddQuotes\r
-<dd>false で、データベースに挿入するか更新する時は、列の値はバッククォートで囲まれません\r
-    (デフォルト=true)\r
-    これは SQL 関数呼び出しで、列を実装する事を可能にします。例えば。\r
-<pre>\r
-oForm.AddEntryField "LastEditUser","","H","suser_sname()"\r
-oForm.CurrentField("AddQuotes")=false\r
-oForm.AddEntryField "LastEditDate","","H","getdate()"\r
-oForm.CurrentField("AddQuotes")=false\r
-</pre>\r
-\r
-<dt>required\r
-<dd>入力フィールドが空のままにしてもよいかどうかを指定する真偽値です\r
-(デフォルトは、 列が null を許して EntryType が "B" で無ければ false 、そうで無い場合は true です)。\r
-  \r
-<dt><a name='AltTable'></a>AltTable (TabId)\r
-<dd>代わりのテーブルにフィールドは保存されるべきである事を指定し、\r
-    TabId は以前の <a href='#DefineAltTable'>DefineAltTable</a> の呼び出しによって返される値でなければなりません。\r
-\r
-<dt>TxtAreaRows\r
-<dd>エントリタイプが "TA" の列のための、フォームビューの時に\r
-    テキストエリアに表示する行数です(デフォルト 4)\r
-\r
-<dt>FilterFlag\r
-<dd>true なら、グリッドはその列のデフォルト値によってフィルタされます(デフォルト = false)\r
-\r
-<dt>TxtAreaCols\r
-<dd>エントリタイプが "TA" の列のための、フォームビューの時に\r
-    テキストエリアに表示する列数です(デフォルト 80)\r
-\r
-<dt>Help\r
-<dd>指定されたテキストを含んでいるタイトルタグを作成します(フォームビューのみ)。\r
-そして、ユーザがフィールドラベルの上をホバーするなら、バルーンヘルプとしてこのテキストを見るでしょう。例えば。\r
-<pre>\r
-oForm.CurrentField("Help")="Date must be entered in mm/dd/yyyy format"\r
-</pre>\r
-\r
-<dt>pattern\r
-<dd>正規表現を含んでいる文字列。\r
-ユーザエントリは、その指定されたパターンにマッチする事を確実にするためにチェックされます。\r
-少しの特別な値があります。\r
-<ul>\r
-<li>"email" - メールアドレスを検証するためのテスト\r
-<li>"float-unsigned" - 符号無し浮動小数点(実)数を検証するためのテスト\r
-<li>"float-signed" - 符号付き浮動小数点(実)数を検証するためのテスト(EntryType が "F" の時、これがデフォルトです)\r
-<li>"int-unsigned" - 符号無し整数を検証するためのテスト\r
-<li>"int-signed" - 符号付き整数を検証するためのテスト(EntryType が "I" の時、これがデフォルトです)\r
-</ul>\r
-<br>いつでも、パターンを指定するヘルプエントリが含まれる事が推薦されます。\r
-フィールドが検証に失敗したなら、そのヘルプテキストは、ユーザに表示されるエラーメッセージに含まれます。\r
-例えば。\r
-<pre>\r
-oForm.CurrentField("Help")="Enter date as mm/dd/yyyy"\r
-oForm.CurrentField("pattern")="^\\d{1,2}/\\d{1,2}/\\d{4}$"\r
-</pre>\r
-\r
-<dt>min/max\r
-<dd>EntryType が "I" 、"F" 、そして "D" のフィールドの、最大/最少の許される値を指定します。\r
-例えば。\r
-<pre>\r
-oForm.AddEntryField "field1", "Field #1", "I", "0"\r
-oForm.CurrentField("min")=1\r
-oForm.CurrentField("max")=10\r
-oForm.CurrentField("Help")="Enter a value between 1 and 10"\r
-\r
-oForm.AddEntryField "field2", "Field #2", "D", Date()\r
-oForm.CurrentField("min")="2000-01-01"\r
-oForm.CurrentField("max")="2099-12-31"\r
-oForm.CurrentField("Help")="Enter a value in the 21st century!"\r
-</pre>\r
-\r
-<dt>InsertOnly\r
-<dd>挿入を実行する時は、データベースに単にこのフィールドを書いて下さい(デフォルト=false)。\r
-<pre>\r
-oForm.AddEntryField "CreateDate","","H","getdate()"\r
-oForm.CurrentField("AddQuotes")=false\r
-oForm.CurrentField("InsertOnly")=true\r
-</pre>\r
-\r
-<dt>UpdateOnly\r
-<dd>更新を実行する時は、データベースに単にこのフィールドを書いて下さい(デフォルト=false)。\r
-<pre>\r
-oForm.CurrentField("UpdateOnly")=true\r
-</pre>\r
-\r
-<dt>ReadOnly\r
-<dd>true なら、データはエントリフォームで表示されますが、変更は出来ず、テキストは灰色です(デフォルト = false)。\r
-\r
-<dt>SelectValues\r
-<dd>N、S、そして R の EntryType  のために、ユーザをフォームビューに案内する選択を指定して下さい。\r
-    供給されるなら、カンマで区切られた値の文字列で無ければなりません。例えば。\r
-<pre>\r
-oForm.CurrentField("SelectValues")="Y,N"\r
-</pre>\r
-\r
-<dt>SelectSql\r
-<dd>SL 、CL 、そして RL の EntryType のために、SQL 検索ステートメントを指定します。\r
-    その検索ステートメントは 2 つの列を返さなければなりません。\r
-    一つ目はコードで、そして二つ目は値または説明のテキストです。例えば。\r
-<pre>\r
-oForm.CurrentField("SelectSql")="select ID,Name from Customers"\r
-</pre>\r
-\r
-</dl>\r
-\r
-</body>\r
-</html>\r
diff --git a/documentation/LiveGrid_ja.html b/documentation/LiveGrid_ja.html
deleted file mode 100644 (file)
index 2c8fba1..0000000
+++ /dev/null
@@ -1,1156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
-<html>\r
-<head>\r
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-<title>Rico LiveGrid</title>\r
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css" />\r
-</head>\r
-\r
-<body>\r
-<h1>Rico LiveGrid の作成</h1>\r
-\r
-<p>Rico LiveGrid は 2 次元の JavaScript 配列でデータをバッファリングして、スクロールするテーブルにデータを表示します。\r
-ユーザがグリッドを垂直にスクロールする事によって、データは配列からグリッド上へ動的にコピーされます。\r
-バッファは次の項目からロードされる事が出来ます。\r
-<ol>\r
-<li><a href='#model1'>javascript 配列</a>\r
-<li><a href='#model2'>HTML テーブル</a>\r
-<li><a href='#model3'>XML ファイル</a>\r
-<li><a href='#model4'>SQL データベースクエリ</a>\r
-<li><a href='#model5'>カスタム javascript コールバック関数</a>\r
-</ol>\r
-\r
-\r
-<h2><a name='model1'>利用モデル 1: javascript 配列からのデータのロード</a></h2>\r
-\r
-<ul><li>javascript 配列へ表示されるデータをロードして下さい。\r
-<pre>\r
-  var myData = [\r
-    [1,'Cell 1:2','Cell 1:3','Cell 1:4','Cell 1:5'],\r
-    [2,'Cell 2:2','Cell 2:3','Cell 2:4','Cell 2:5'],\r
-    [3,'Cell 3:2','Cell 3:3','Cell 3:4','Cell 3:5'],\r
-    [4,'Cell 4:2','Cell 4:3','Cell 4:4','Cell 4:5']\r
-  ];\r
-</pre>\r
-\r
-<li>グリッドを表示するのに必要な Rico javascript と css ファイルをロードして下さい。\r
-<pre>\r
-Rico.loadModule('LiveGrid','LiveGridMenu','greenHdg.css');\r
-</pre>\r
-<dl>\r
-<dt>LiveGrid\r
-<dd>これは、静的なバッファ( AJAX では無い)で LiveGrid を表示するのに必要な Rico javascript と css ファイルをロードします。\r
-<dt>LiveGridMenu\r
-<dd>これは、デフォルトのグリッドメニューをロードします。\r
-このメニューは、LiveGrid で出来る事の全てにアクセスする方法を提供します。\r
-それは選択された列と使用されるバッファのタイプに基づく、ユーザに提示された選択項目を調整します。\r
-メニュー無しでグリッドを使用するか、またはアプリケーションの必要性によりカスタマイズされた独自のメニューを作成するかを、選ぶことが出来ます。\r
-<dt>greenHdg.css\r
-<dd>Rico は、いくつかのサンプルグリッドスタイルを持っています。\r
-coffee-with-milk、grayedout、greenHdg、iegradient (Internet Explorer 専用)、tanChisel、そして warmfall。\r
-あなたは、含まれているスタイルの 1 つを選ぶか、独自の物を作成するかを選ぶでしょう。\r
-</dl>\r
-\r
-<li>テーブルのデータ列を Rico バッファオブジェクトにロードして下さい。\r
-<pre>\r
-  var buffer=new Rico.Buffer.Base();\r
-  buffer.loadRowsFromArray(myData);\r
-</pre>\r
-\r
-<li>グリッドの見出しを含む、グリッドのオプションを定義して下さい。\r
-<pre>\r
-  var opts = {  \r
-    useUnformattedColWidth: false,\r
-    defaultWidth : 90,\r
-    visibleRows  : 'data',\r
-    frozenColumns: 1,\r
-    columnSpecs  : [{Hdg:'Column 1',type:'number', ClassName:'alignright'},\r
-                    {Hdg:'Column 2'},\r
-                    {Hdg:'Column 3'},\r
-                    {Hdg:'Column 4'},\r
-                    {Hdg:'Column 5'}]\r
-  };\r
-</pre>\r
-\r
-<li>グリッド、Rico.Buffer インスタンス、およびグリッドオプションのためにベース id を渡して、LiveGrid をインスタンス化してください。\r
-\r
-<pre>\r
-  var ex1=new Rico.LiveGrid ('ex1', buffer, opts);\r
-</pre>\r
-\r
-<li>グリッドのためのデフォルトポップアップメニューを利用可能にするために、グリッドのメニューのプロパティを Rico.GridMenu のインスタンスに割り当てて下さい。\r
-\r
-<pre>\r
-  ex1.menu=new Rico.GridMenu();\r
-</pre>\r
-\r
-<li>Rico.loadModule は、window.onload イベントの終了<em>後</em>に実行されると思います。\r
-あなたは Rico.onLoad メソッドに初期化関数を渡さなければなりません、なぜなら、Rico モジュールがロードされた後で、グリッドの初期化が実行される事を確実なものにするためです。\r
-javascript のすべてをまとめると、このようになります。\r
-<pre>\r
-&lt;script type='text/javascript'&gt;\r
-Rico.loadModule('LiveGrid','LiveGridMenu','greenHdg.css');\r
-\r
-Rico.onLoad( function() {\r
-  var myData = [\r
-    [1,'Cell 1:2','Cell 1:3','Cell 1:4','Cell 1:5'],\r
-    [2,'Cell 2:2','Cell 2:3','Cell 2:4','Cell 2:5'],\r
-    [3,'Cell 3:2','Cell 3:3','Cell 3:4','Cell 3:5'],\r
-    [4,'Cell 4:2','Cell 4:3','Cell 4:4','Cell 4:5']\r
-  ];\r
-  var opts = {  \r
-    useUnformattedColWidth: false,\r
-    defaultWidth : 90,\r
-    visibleRows  : 'data',\r
-    frozenColumns: 1,\r
-    columnSpecs  : [{Hdg:'Column 1',type:'number', ClassName:'alignright'},\r
-                    {Hdg:'Column 2'},\r
-                    {Hdg:'Column 3'},\r
-                    {Hdg:'Column 4'},\r
-                    {Hdg:'Column 5'}]\r
-  };\r
-  var buffer=new Rico.Buffer.Base();\r
-  buffer.loadRowsFromArray(myData);\r
-  var ex1=new Rico.LiveGrid ('ex1', buffer, opts);\r
-  ex1.menu=new Rico.GridMenu();\r
-});\r
-&lt;/script&gt;\r
-</pre>\r
-\r
-<li>最後に、グリッドを実行すべき位置に、HTML マークアップ に div 要素を配置して下さい。\r
-ブックマークのためのマークアップを含む事により、グリッドのスクロール位置が表示されます。\r
-<pre>\r
-&lt;p class="ricoBookmark"&gt;&lt;span id="ex1_bookmark"&gt;&nbsp;&lt;/span&gt;&lt;/p&gt;\r
-&lt;div id="ex1"&gt;&lt;/div&gt;\r
-</pre>\r
-\r
-\r
-\r
-</ul>\r
-\r
-\r
-<h2><a name='model2'>利用モデル 2: HTML テーブルからのデータのロード</a></h2>\r
-\r
-<ul><li>見出しは <code>&lt;thead&gt;</code> セクションにより、データは <code>&lt;tbody&gt;</code> セクションにより、HTML テーブルを定義して下さい。\r
-ブックマークのためのマークアップを含む事により、グリッドのスクロール位置が表示されます。\r
-<pre>\r
-&lt;p class="ricoBookmark"&gt;&lt;span id="data_grid_bookmark"&gt;&nbsp;&lt;/span&gt;&lt;/p&gt;\r
-&lt;table id="data_grid"&gt;\r
-  &lt;thead&gt;\r
-\r
-  &lt;tr&gt;\r
-    &lt;th&gt;First column name&lt;/th&gt;\r
-    &lt;th&gt;Second column name&lt;/th&gt;\r
-    ...\r
-    &lt;th&gt;Last column name&lt;/th&gt;\r
-  &lt;/tr&gt;\r
-\r
-  &lt;/thead&gt;\r
-\r
-  &lt;tbody&gt;\r
-\r
-  &lt;tr&gt;\r
-    &lt;td&gt;Row 1, column 1 data&lt;/td&gt;\r
-    &lt;td&gt;Row 1, column 2 data&lt;/td&gt;\r
-    ...\r
-    &lt;td&gt;Row 1, last column data&lt;/td&gt;\r
-  &lt;/tr&gt;\r
-\r
-  &lt;tr&gt;\r
-    &lt;td&gt;Row 2, column 1 data&lt;/td&gt;\r
-    &lt;td&gt;Row 2, column 2 data&lt;/td&gt;\r
-    ...\r
-    &lt;td&gt;Row 2, last column data&lt;/td&gt;\r
-  &lt;/tr&gt;\r
-\r
-  ...\r
-\r
-  &lt;tr&gt;\r
-    &lt;td&gt;Row n, column 1 data&lt;/td&gt;\r
-    &lt;td&gt;Row n, column 2 data&lt;/td&gt;\r
-    ...\r
-    &lt;td&gt;Row n, last column data&lt;/td&gt;\r
-  &lt;/tr&gt;\r
-\r
-  &lt;/tbody&gt;\r
-&lt;/table&gt;\r
-</pre>\r
-\r
-<li>グリッドを表示するために必要な Rico javascript と css ファイルをロードして下さい。\r
-<pre>\r
-Rico.loadModule('LiveGrid','LiveGridMenu','greenHdg.css');\r
-</pre>\r
-<dl>\r
-<dt>LiveGrid\r
-<dd>これは、静的なバッファ( AJAX では無い)で LiveGrid を表示するのに必要な Rico javascript と css ファイルをロードします。\r
-<dt>LiveGridMenu\r
-<dd>これは、デフォルトのグリッドメニューをロードします。\r
-このメニューは、LiveGrid で出来る事の全てにアクセスする方法を提供します。\r
-それは選択された列と使用されるバッファのタイプに基づく、ユーザに提示された選択項目を調整します。\r
-メニュー無しでグリッドを使用するか、またはアプリケーションの必要性によりカスタマイズされた独自のメニューを作成するかを、選ぶことが出来ます。\r
-<dt>greenHdg.css\r
-<dd>Rico は、いくつかのサンプルグリッドスタイルを持っています。\r
-coffee-with-milk、grayedout、greenHdg、iegradient (Internet Explorer 専用)、tanChisel、そして warmfall。\r
-あなたは、含まれているスタイルの 1 つを選ぶか、独自の物を作成するかを選ぶでしょう。\r
-</dl>\r
-\r
-<li>テーブルのデータ列を Rico バッファオブジェクトにロードして下さい。\r
-<pre>\r
-var buffer = new Rico.Buffer.Base($('data_grid').tBodies[0]);\r
-</pre>\r
-\r
-<li>最後に、HTML テーブルの DOM の id とオプションを Rico.Buffer インスタンス に渡して\r
-(これは、 LiveGrid がテーブルの thead セクションから列の見出しをロードするのを許可します)、\r
-LiveGrid を初期化します\r
-(この場合、最初の列の幅は 50 ピクセル、2 番目の列は 80 ピクセルの幅となります)。\r
-\r
-<pre>\r
-var grid_options = { columnSpecs: [ {width:50}, {width:80} ] };\r
-var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-</pre>\r
-\r
-<li>Rico.loadModule は、window.onload イベントの終了<em>後</em>に実行されると思います。\r
-あなたは Rico.onLoad メソッドに初期化関数を渡さなければなりません、\r
-なぜなら、Rico モジュールがロードされた後で、グリッドの初期化が実行される事を確実なものにするためです。\r
-javascript のすべてをまとめると、このようになります。\r
-\r
-<pre>\r
-&lt;script type='text/javascript'&gt;\r
-Rico.loadModule('LiveGrid','LiveGridMenu','greenHdg.css');\r
-\r
-Rico.onLoad( function() {\r
-  var buffer = new Rico.Buffer.Base($('data_grid').tBodies[0]);\r
-  var grid_options = { columnSpecs: [width:50, width:80] };\r
-  var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-});\r
-&lt;/script&gt;\r
-</pre>\r
-\r
-</ul>\r
-\r
-\r
-<h2><a name='model3'>利用モデル 3: XML ファイルからのデータのロード</a></h2>\r
-\r
-<ul><li>テーブルのヘッダセルを持ち、テーブルのボディセルは持たない、HTML テーブルを定義して下さい。\r
-ブックマークのためのマークアップを含む事により、グリッドのスクロール位置が表示されます。\r
-<pre>\r
-&lt;p class="ricoBookmark"&gt;&lt;span id="data_grid_bookmark"&gt;&nbsp;&lt;/span&gt;&lt;/p&gt;\r
-&lt;table id="data_grid"&gt;\r
-  &lt;tr&gt;\r
-\r
-    &lt;th&gt;First column name&lt;/th&gt;\r
-    &lt;th&gt;Second column name&lt;/th&gt;\r
-\r
-  &lt;/tr&gt;\r
-&lt;/table&gt;\r
-</pre>\r
-\r
-<li>グリッドを表示するために必要な Rico javascript と css ファイルをロードして下さい。\r
-<pre>\r
-Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
-</pre>\r
-<dl>\r
-<dt>LiveGridAjax\r
-<dd>これは、AJAX 対応のバッファで LiveGrid を表示するのに必要な Rico javascript と css ファイルをロードします。\r
-<dt>LiveGridMenu\r
-<dd>これは、デフォルトのグリッドメニューをロードします。\r
-このメニューは、LiveGrid で出来る事の全てにアクセスする方法を提供します。\r
-それは選択された列と使用されるバッファのタイプに基づく、ユーザに提示された選択項目を調整します。\r
-メニュー無しでグリッドを使用するか、またはアプリケーションの必要性によりカスタマイズされた独自のメニューを作成するかを、選ぶことが出来ます。\r
-<dt>greenHdg.css\r
-<dd>Rico は、いくつかのサンプルグリッドスタイルを持っています。\r
-coffee-with-milk、grayedout、greenHdg、iegradient (Internet Explorer 専用)、tanChisel、そして warmfall。\r
-あなたは、含まれているスタイルの 1 つを選ぶか、独自の物を作成するかを選ぶでしょう。\r
-</dl>\r
-\r
-<li>データをフェッチしてテーブルを実装するために、Rico バッファを作成して下さい。\r
-AjaxXML バッファは、グリッドのスタートアップで提供された URL に、一つだけのデータのリクエストを行います。\r
-<pre>\r
-var buffer = new Rico.Buffer.AjaxXML('/controller/action?format=xml');\r
-</pre>\r
-\r
-この URL(実例の中にある "/controller/action?format=xml")は、次のフォーマットでデータを返さなければなりません。\r
-<pre>\r
-&lt;ajax-response&gt;\r
-&lt;response type='object' id='data_grid_updater'&gt;\r
-&lt;rows update_ui='true' offset='0'&gt;\r
-&lt;tr&gt;&lt;td&gt;Data for row 1, cell 1&lt;/td&gt;&lt;td&gt;Data for row 1, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-&lt;tr&gt;&lt;td&gt;Data for row 2, cell 1&lt;/td&gt;&lt;td&gt;Data for row 2, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-&lt;/rows&gt;\r
-&lt;/response&gt;\r
-&lt;/ajax-response&gt;\r
-</pre>\r
-\r
-<li>最後に、HTML テーブルの DOM の ID とオプションを Rico.Buffer インスタンス に渡して、LiveGrid を初期化します\r
-(columnSpecs は必要ではありませんが、列のカスタム化のためのプレースホルダーとして、ここに表示されます)。\r
-<pre>\r
-var grid_options = { columnSpecs: [,] };\r
-var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-</pre>\r
-\r
-<li>Rico.loadModule は、window.onload イベントの終了<em>後</em>に実行されると思います。\r
-あなたは Rico.onLoad メソッドに初期化関数を渡さなければなりません、\r
-なぜなら、Rico モジュールがロードされた後で、グリッドの初期化が実行される事を確実なものにするためです。\r
-javascript のすべてをまとめると、このようになります。\r
-\r
-<pre>\r
-&lt;script type='text/javascript'&gt;\r
-Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
-\r
-Rico.onLoad( function() {\r
-  var buffer = new Rico.Buffer.AjaxXML('/controller/action?format=xml');\r
-  var grid_options = { columnSpecs: [,] };\r
-  var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-});\r
-&lt;/script&gt;\r
-</pre>\r
-</ul>\r
-\r
-\r
-<h2><a name='model4'>利用モデル 4: SQL データベースクエリからデータをロードする</a></h2>\r
-\r
-<p>下記の説明は、Rico LiveGrid プラグインにおける ASP と PHP の実装に直接当てはまります。\r
-概念は .net の同じですが、実装方法は全く異なります\r
-(これがどのように .net で実装されるかについては、"ex2simple.aspx" を調べて下さい)。\r
-\r
-<ul>\r
-<li>実行するためにクエリを含むセッション変数を定義して下さい。\r
-変数名は、下の表の ID に適合しなければなりません。\r
-データを要求するとき、グリッドは ricoXMLquery にそのIDを渡します、そして、ricoXMLquery はセッションからクエリテキストを取得するためにそれを利用するでしょう。\r
-<ul>\r
-<li>ASP:\r
-<pre>\r
-&lt;%\r
-session.contents("data_grid")="select ID,Name,City from customers"\r
-%&gt;\r
-</pre>\r
-\r
-<li>PHP:\r
-<pre>\r
-&lt;? \r
-$_SESSION['data_grid']="select ID,Name,City from customers";\r
-?&gt;\r
-</pre>\r
-\r
-<li>.net:\r
-<pre>\r
-Sub Page_Load(Sender As object, e As EventArgs)\r
-  data_grid.sqlQuery="select ID,Name,City from customers"\r
-  ' session variable is set by the control\r
-End Sub\r
-</pre>\r
-</ul>\r
-\r
-\r
-<li>テーブルのボディセルでは無く、ヘッダセルを供給して、HTML テーブルを定義して下さい。\r
-ブックマークのためのマークアップを含む事により、グリッドのスクロール位置が表示されます。\r
-<pre>\r
-&lt;p class="ricoBookmark"&gt;&lt;span id="data_grid_bookmark"&gt;&nbsp;&lt;/span&gt;&lt;/p&gt;\r
-&lt;table id="data_grid"&gt;\r
-  &lt;tr&gt;\r
-\r
-    &lt;th&gt;Customer #&lt;/th&gt;\r
-    &lt;th&gt;Customer Name&lt;/th&gt;\r
-    &lt;th&gt;City&lt;/th&gt;\r
-\r
-  &lt;/tr&gt;\r
-&lt;/table&gt;\r
-</pre>\r
-\r
-<li>グリッドを表示するために必要な Rico javascript と css ファイルをロードして下さい。\r
-<pre>\r
-Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
-</pre>\r
-<dl>\r
-<dt>LiveGridAjax\r
-<dd>これは、AJAX 対応バッファで LiveGrid を表示するのに必要な Rico javascript と css ファイルをロードします。\r
-<dt>LiveGridMenu\r
-<dd>これは、デフォルトのグリッドメニューをロードします。\r
-このメニューは、LiveGrid で出来る事の全てにアクセスする方法を提供します。\r
-それは選択された列と使用されるバッファのタイプに基づく、ユーザに提示された選択項目を調整します。\r
-メニュー無しでグリッドを使用するか、またはアプリケーションの必要性によりカスタマイズされた独自のメニューを作成するかを、選ぶことが出来ます。\r
-<dt>greenHdg.css\r
-<dd>Rico は、いくつかのサンプルグリッドスタイルを持っています。\r
-coffee-with-milk、grayedout、greenHdg、iegradient (Internet Explorer 専用)、tanChisel、そして warmfall。\r
-あなたは、含まれているスタイルの 1 つを選ぶか、独自の物を作成するかを選ぶでしょう。\r
-</dl>\r
-\r
-<li>データをフェッチしてテーブルを実装するために、Rico バッファを作成して下さい。\r
-一度にすべてのデータをグリッドにフェッチする AjaxXML バッファと異なり、 AjaxSQL バッファは、塊でデータをフェッチします。\r
-これは、LiveGrid が能率的に数千または何十万の列を含んでいるクエリ結果を表示する事を可能にします。\r
-\r
-<pre>\r
-var buffer = new Rico.Buffer.AjaxSQL('ricoXMLquery.asp');\r
-</pre>\r
-\r
-この URL ("ricoXMLquery.asp" の実例で)は、データベースからデータをフェッチして、\r
-この XML フォーマットでグリッドにそれを戻すために、含まれるプラグインの内の 1 つを利用します。\r
-\r
-<pre>\r
-&lt;ajax-response&gt;\r
-&lt;response type='object' id='data_grid_updater'&gt;\r
-&lt;rows update_ui='true' offset='0'&gt;\r
-&lt;tr&gt;&lt;td&gt;Data for row 1, cell 1&lt;/td&gt;&lt;td&gt;Data for row 1, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-&lt;tr&gt;&lt;td&gt;Data for row 2, cell 1&lt;/td&gt;&lt;td&gt;Data for row 2, cell 2&lt;/td&gt;&lt;/tr&gt;\r
-&lt;/rows&gt;\r
-&lt;rowcount&gt;99&lt;/rowcount&gt;\r
-&lt;/response&gt;\r
-&lt;/ajax-response&gt;\r
-</pre>\r
-\r
-&lt;rowcount&gt; タグはオプションですが、リクエストに "get_total" クエリーストリングパラメータが存在する場合は、\r
-いつでも返されなければなりません。\r
-\r
-<li>最後に、HTML テーブルの DOM の ID とオプションを Rico.Buffer インスタンス に渡して、LiveGrid を初期化します\r
-(columnSpecs は必要ではありませんが、列のカスタム化のためのプレースホルダーとして、ここに表示されます)。\r
-<pre>\r
-var grid_options = { columnSpecs: [,,] };\r
-var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-</pre>\r
-\r
-<li>Rico.loadModule は、window.onload イベントの終了<em>後</em>に実行されると思います。\r
-あなたは Rico.onLoad メソッドに初期化関数を渡さなければなりません、\r
-なぜなら、Rico モジュールがロードされた後で、グリッドの初期化が実行される事を確実なものにするためです。\r
-javascript のすべてをまとめると、このようになります。\r
-<pre>\r
-&lt;script type='text/javascript'&gt;\r
-Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
-\r
-Rico.onLoad( function() {\r
-  var buffer = new Rico.Buffer.AjaxSQL('ricoXMLquery.asp');\r
-  var grid_options = { columnSpecs: [,,] };\r
-  var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
-});\r
-&lt;/script&gt;\r
-</pre>\r
-</ul>\r
-\r
-\r
-<h2><a name='model5'>利用モデル 5: カスタムコールバック関数を利用してデータをロードする</a></h2>\r
-\r
-<p>このモデルは、 xmlHTTPrequest を利用してデータをフェッチするのでは無く、 javascript コールバック関数を\r
-利用してデータをフェッチする事以外はモデル 3 や 4 と同じ方法で動作します。\r
-これにより、コールバック関数で Google Gears を呼ぶような創造的な事をすることが出来ます。\r
-コールバックをセットアップする事は、非常に簡単です。\r
-データプロバイダの URL の文字列を含むデータを AjaxXML または AjaxSQL コンストラクタに渡すのでは無く、\r
-その代りにコールバック関数を渡すだけです。\r
-\r
-<p>以下の AjaxXML バッファを利用するコードは <a href='client/gridJSbuffer.html'>examples/client/gridJSbuffer.html</a> から取得出来ます。\r
-"jsfetch" コールバック関数は 100 行の長さで 5 列の幅の二次元配列を返します。\r
-AjaxXML は、そのバッファを(グリッドのスタートアップで)一度だけロードするので、 jsfetch は一度だけ呼ばれます。\r
-このオプションのハッシュは、Prototype の Ajax.Request メソッドで利用されるオプションのハッシュと構造が同じです。\r
-\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxXML(<strong>jsfetch</strong>);\r
-\r
-function <strong>jsfetch</strong>(options) {\r
-  Rico.writeDebugMsg("jsfetch");\r
-  var newRows=[], offset=options.parameters.offset;\r
-  for (var r=0; r<100; r++) {\r
-    var row=[];\r
-    row.push(offset.toString());\r
-    row.push(new Date().toString());\r
-    for (var c=2; c<5; c++) row.push('cell '+r+':'+c);\r
-    newRows.push(row);\r
-  }\r
-  options.onComplete(newRows);\r
-}\r
-</pre>\r
-\r
-<p>以下の AjaxSQL バッファを利用するコードは <a href='client/gridJSbuffer2.html'>examples/client/gridJSbuffer2.html</a> から取得出来ます。\r
-"jsfetch" コールバック関数は、500 行の長さで 5 列の幅の二次元配列をシミュレーションします。\r
-しかし、どんなコールバック中でも、その配列の <code>options.parameters.offset</code> 行から \r
-<code>options.parameters.offset + options.parameters.page_size</code> 行までのセクションが返されます。\r
-\r
-<pre>\r
-buffer=new Rico.Buffer.AjaxSQL(<strong>jsfetch</strong>);\r
-\r
-function <strong>jsfetch</strong>(options) {\r
-  var newRows=[], totrows=500;\r
-  var offset=options.parameters.offset;\r
-  var limit=Math.min(totrows-offset,options.parameters.page_size)\r
-  for (var r=0; r&lt;limit; r++) {\r
-    var row=[];\r
-    row.push(new Date().toString());\r
-    row.push(offset.toString());\r
-    for (var c=2; c&lt;5; c++) row.push('cell '+(r+offset)+':'+c);\r
-    newRows.push(row);\r
-  }\r
-  options.onComplete(newRows,false,totrows);\r
-}\r
-</pre>\r
-\r
-<p>options.onComplete は、次のパラメータをとります。\r
-<ul>\r
-<li>newRows - それぞれのアイテムが文字列の二次元配列\r
-<li>newAttr - それぞれのアイテムが、セルの acceptAttr の値、または acceptAttr が利用されていないなら false を含むオブジェクトの二次元配列\r
-<li>totalRows - データセット内の行の総数を表す整数\r
-<li>errMsg - エラーが起こったとき、ユーザに表示されるメッセージテキスト\r
-</ul>\r
-\r
-</ul>\r
-\r
-\r
-<h2><a name='debug'></a>デバッグ</h2>\r
-<p>Rico 2.0 はメッセージログにタイムスタンプデバッグメッセージを配達する能力を持っています。\r
-そのログは、HTML のテキストエリアか、ブラウザの javascript コンソールに表示されるでしょう。\r
-<ul>\r
-<li>もし、テキストエリアが '_debugmsgs' を加えたライブグリッドテーブルの ID と共に存在するならば、例えば\r
-<pre style='margin:3px;'>&lt;textarea cols="100" rows="5" id="data_grid_debugmsgs" /&gt;</pre>\r
-そして、このテキストエリアがメッセージログのために使われます。\r
-<li>あるいは、テキストエリアは Rico.setDebugArea() の呼び出しによって指定されるかもしれません。\r
-\r
-<pre>\r
-&lt;textarea id='debug' rows='5' cols='80'&gt;&lt;/textarea&gt;\r
-&lt;script type='text/javascript'&gt;\r
-Rico.setDebugArea('debug');\r
-&lt;/script&gt;\r
-</pre>\r
-\r
-<li>テキストエリアが指定されないならば、Rico はブラウザのビルトイン javascript コンソールを使おうとします。\r
-以下のコンソールで動作する事が知られています:\r
-  <ul>\r
-  <li>Firefox の <a href='http://www.getfirebug.com/' target='_blank'>Firebug</a> アドオンコンソール\r
-  <li>Opera javascript コンソール\r
-  <li>Safari javascript コンソール\r
-  </ul>\r
-</ul>\r
-\r
-<h2>グリッドメニュー</h2>\r
-\r
-<p>Rico LiveGrid は、多くの機能的なビルトインが付属します\r
-その機能にアクセスするために、Rico はメニューのデフォルトの設定を含みます -- \r
-ricoLiveGridMenu.js で定義されています。\r
-デフォルトメニューを使うために、単に 'LiveGridMenu' モジュールをロードして、\r
-そのグリッドメニュープロパティを Rico.GridMenu クラスのインスタンスに割り当てて下さい。\r
-<pre>\r
-  Rico.loadModule('LiveGridMenu');\r
-  ...\r
-  var ex1=new Rico.LiveGrid ('ex1', buffer, grid_options);\r
-  ex1.menu=new Rico.GridMenu();\r
-</pre>\r
-<p>デフォルトでは、ユーザがグリッドセルをダブルクリックする時メニューが開きます。\r
-メニューを開くイベントを変更するために、グリッドの <a href='#menuEvent'>menuEvent</a> \r
-オプションに値を割り当てて下さい。\r
-以下のコードは、右クリックでメニューを開きます。\r
-<pre>\r
-  Rico.loadModule('LiveGridMenu');\r
-  ...\r
-  var grid_options = {\r
-    menuEvent: 'contextmenu'\r
-  }\r
-  var ex1=new Rico.LiveGrid ('ex1', buffer, grid_options);\r
-  ex1.menu=new Rico.GridMenu();\r
-</pre>\r
-<p>Rico.GridMenu は、更なるメニューアイテムを追加するために、コールバック(dataMenuHandler)を提供します。\r
-グリッドメニューは常に動的に構築されます -- ユーザーがクリックした行と列のためにカスタマイズされます。\r
-コールバック関数が毎回呼ばれるように、メニューは起動されて、\r
-それぞれの起動で要求されるメニューアイテムを加えなければなりません。\r
-<pre>\r
-  Rico.loadModule('LiveGridMenu');\r
-  ...\r
-  var ex1=new Rico.LiveGrid ('ex1', buffer, grid_options);\r
-  ex1.menu=new Rico.GridMenu();\r
-  ex1.menu.options.dataMenuHandler=myCustomMenuItems;\r
-  ...\r
-function myCustomMenuItems(grid,r,c,onBlankRow) {\r
-  if (buffer.getWindowValue(r,c)=='Special Value')\r
-    grid.menu.addMenuItem("Special menu item", specialAction);\r
-}\r
-function specialAction() {\r
-  ...\r
-}\r
-</pre>\r
-\r
-<p>完全なカスタムメニューを作成する事も可能です。\r
-例えば、ex5.php/asp/aspx を見て下さい。\r
-\r
-\r
-<h2>注意</h2>\r
-<ul>\r
-<li>もし、ライブグリッドテーブル名に '_bookmark' が追加された名前に、DOM の ID が一致する要素を作成するなら、\r
-グリッドに表示されいるレコードの数を示しているテキストが更新されるでしょう。\r
-LiveGrid の実例は、一般的にこのマークアップを使います。\r
-<pre>\r
-&lt;p class="ricoBookmark"&gt;&lt;span id="data_grid_bookmark"&gt;&nbsp;&lt;/span&gt;&lt;/p&gt;\r
-</pre>\r
-<li>ライブグリッドを表示するブラウザは、<a href="http://www.quirksmode.org/css/quirksmode.html">strict (別名 "標準" )モード</a> で実行されていなければなりません。\r
-したがって、あなたは <code> &lt;html&gt; </code> タグの直前に doctype の宣言を含めなければなりません。例えば\r
-\r
-<pre>\r
-&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \r
- "http://www.w3.org/TR/html4/strict.dtd"&gt;\r
-</pre>\r
-</ul>\r
-\r
-<h2>リファレンス</h2>\r
-<h3>コンストラクタ</h3>\r
-<pre>\r
-\r
-  var grid = new Rico.LiveGrid (table_id, rico_buffer, grid_options);\r
-\r
-</pre>\r
-\r
-<ul>\r
-<li><strong>table_id</strong> はライブグリッドによって実装される、テーブルの DOM id です\r
-<li><strong>rico_buffer</strong> は Rico のバッファです、例えば\r
-  <ul>\r
-  <li>Rico.Buffer.Base (AJAX 対応では無いテーブルのために)\r
-  <li>Rico.Buffer.AjaxXML\r
-  <li>Rico.Buffer.AjaxSQL\r
-  </ul>\r
-<li><strong>grid_options</strong> (下記参照)\r
-</ul>\r
-\r
-<h3><a name="options"></a>オプション</h3>\r
-\r
-<h4>グリッドサイズ</h4>\r
-<dl>\r
-<dt>visibleRows (.net の行)\r
-<dd>グリッドに何行表示しますか?\r
-正の整数は、グリッドが正確に多くの行を常に含まなければならないことを示しています。\r
-負の値は、以下の意味を持ちます。\r
-  <ul>\r
-  <li>-1: クライアントウィンドウに合わせたグリッドサイズ(デフォルト)\r
-  <li>-2: クライアントウィンドウとデータの小さい方のグリッドサイズ\r
-  <li>-3: ページのボディにスクロールバーを持たないためのグリッドサイズ\r
-  <li>-4: DOM の親ノードによるグリッドサイズ\r
-  </ul>\r
-  \r
-<dt>minPageRows\r
-<dd>表示される行数の最小値。visibleRows が 0 以下の時のみ利用される。(Rico 2b3 からはデフォルトが 2 で、Rico 2b3 までは 1)\r
-\r
-<dt>maxPageRows\r
-<dd>表示される行数の最大値。visibleRows が 0 以下の時のみ利用される。(デフォルトは 50)\r
-\r
-<dt>defaultWidth\r
-<dd>列の初期幅を設定する際に使われる整数。\r
-説明については <a href='#width'>列幅オプション</a> を見て下さい。\r
-(デフォルトは 100)\r
-\r
-<dt>useUnformattedColWidth\r
-<dd>列の初期幅を設定する際に使われる真偽値。\r
-説明については <a href='#width'>列幅オプション</a> を見て下さい。\r
-(デフォルトは true)\r
-\r
-<dt>scrollBarWidth\r
-<dd>いくらかの計算のために、LiveGrid はページ上のスクロールバーの幅を知っている必要があります。(デフォルトは 19)\r
-\r
-<dt>minScrollWidth\r
-<dd>固定された列の幅がウィンドウ幅を上回る時の、スクロールエリアのピクセル幅の最小値。(デフォルトは 100)\r
-</dl>\r
-\r
-\r
-<h4>グリッドデータ</h4>\r
-<dl>\r
-<dt>offset<dd>表示されるデータの最初の行(デフォルトは 0)\r
-<dt>prefetchBuffer<dd>ページのロード時にバッファの(そして、その結果グリッドの)ロードを行いますか?\r
-<dt>sortCol<dd>初期ソートのための、列の名前かインデックス\r
-<dt>sortDir<dd>初期ソートの方向\r
-  <br>取り得る値は 'ASC'、'DESC'\r
-<dt>getQueryParms<dd>もし true なら、フィルタパラメータのための、そのウェブページのクエリ文字列をチェックし、そして見つかるどんなフィルタでも適用します。\r
-フィルタパラメータは "f[x]=" の形でなければならず、"x" は列のインデックスです。(デフォルトは false )\r
-</dl>\r
-\r
-<h4>ヘッダ構成</h4>\r
-<dl>\r
-<dt>frozenColumns\r
-<dd>グリッドの左側の固定された列の数(Excel のように)\r
-\r
-<dt>headingSort\r
-<dd>ソートを容易にするために、どのように見出しが表示されるかを定義する文字列。\r
-  <ul>\r
-  <li>'link' -- 見出しに列をソートしてくれるリンクを作成します(デフォルト)\r
-  <li>'hover' -- ユーザは、ソートするために、見出しのセルのどんな部分でもクリックする事が出来ます。カーソルがセル上でホバーする時、見出しは背景色を変えます。\r
-  <li>'none' -- 見出し上のイベントは利用不能です。\r
-  </ul>\r
-\r
-<dt>hdrIconsFirst<dd>見出しの前後に、ソートとフィルタのアイコンを置きます(デフォルトは true)\r
-\r
-<dt><a name='allowColResize'>allowColResize</a><dd>ユーザによる列のリサイズを許しますか?\r
-true なら、個々の列のリサイズを利用不能にするために columnSpecs の <a href='#noResize'>noResize</a> を利用します。\r
-\r
-<dt>panels<dd>第二の見出しとして用いる事が出来る文字列の配列です。\r
-LiveGrid Forms で、入力フォーム上のタブを付けられたパネルのための見出しを提供します。\r
-\r
-<dt>PanelNamesOnTabHdr<dd>panels[] の文字列を第二の見出しとして利用するために 'true' を設定します。\r
-LiveGrid Forms では、 panels[] は入力フォームとしてのみ利用されるので、'false' が設定されるでしょう。\r
-\r
-<dt><a name='FilterLocation'></a>FilterLocation\r
-<dd>フィルタを設置する見出しの行を指定します。\r
--1 は、新しい行をヘッダに追加し、新しい行がフィルタリングのために利用されるようにします。\r
-<a href='#filterUI'>filterUI</a> のオプションも見て下さい。\r
-\r
-<dt>FilterAllToken\r
-<dd>選択フィルタで "show all values" を示すトークン(デフォルトは "___ALL___")。\r
-</dl>\r
-\r
-<h4>画像</h4>\r
-<dl>\r
-<dt>resizeBackground\r
-<dd>列のリサイズハンドルに利用される画像(デフォルトは 'resize.gif')\r
-\r
-<dt>sortAscendImg\r
-<dd>列を昇順でソートする事を示すために使われる画像(デフォルトは 'sort_asc.gif')\r
-\r
-<dt>sortDescendImg\r
-<dd>列を降順でソートする事を示すために使われる画像(デフォルトは 'sort_desc.gif')\r
-\r
-<dt>filterImg\r
-<dd>列に対し現在利用中のフィルタを示すために使われる画像(デフォルトは 'filtercol.gif')\r
-</dl>\r
-\r
-\r
-<h4>クッキーオプション</h4>\r
-<dl>\r
-\r
-<dt>saveColumnInfo\r
-<dd>グリッドのクッキーに、どの詳細設定を保存するかを指定します。\r
-一つのクッキーだけが、それぞれのグリッドのために利用されます。\r
-幅の設定が、列の非表示/表示の状態を含む事に注意して下さい。\r
-(デフォルトは {width:true, filter:false, sort:false})\r
-<br>.netプラグインでは、このオプションは、3 つの別々のプロパティによって表現されます。\r
-saveColumnWidth、saveColumnFilter、saveColumnSort。\r
-\r
-<dt>cookiePrefix\r
-<dd>クッキー名の先頭に付け加えられる文字列(デフォルトは 'RicoGrid.')\r
-\r
-<dt>cookieDays\r
-<dd>数字の日数前のクッキーは期限切れになります。\r
-指定しなければ、クッキーは現在のセッションの間だけ維持されます。(デフォルトは null)\r
-\r
-<dt>cookiePath\r
-<dd>グリッドのクッキーを読む事が出来るトップレベルディレクトリを設定します。\r
-指定しなければ、それはクッキーを設定するページのパスになります。(デフォルトは null)\r
-\r
-<dt>cookieDomain\r
-<dd>クッキーがどのドメインに送られなければならないかについて、ブラウザに知らせます。\r
-指定しなければ、それはクッキーを設定するページのドメインになります。(デフォルトは null)\r
-\r
-</dl>\r
-\r
-<h4>ハイライティングとセレクション</h4>\r
-<dl>\r
-\r
-<dt>highlightElem\r
-<dd>何がハイライトまたは選択されるかについて指定する文字列。\r
-  <ul>\r
-  <li>'cursorRow' -- the grid row under the cursor\r
-  <li>'cursorCell' -- the grid cell under the cursor\r
-  <li>'menuRow' -- the grid row where the menu is displayed\r
-  <li>'menuCell' -- the grid cell where the menu is displayed\r
-  <li>'selection' -- allow the user to select cells\r
-  <li>'none' -- never highlight\r
-  </ul>\r
-\r
-<dt>highlightSection\r
-<dd>テーブルのどのセレクションがハイライトされるかについて指定する整数\r
-  <ul>\r
-  <li>1 -- 固定された部分\r
-  <li>2 -- スクロールする部分\r
-  <li>3 -- すべて(デフォルト)\r
-  <li>0 -- 無し\r
-  </ul>\r
-<dt>highlightMethod\r
-<dd>セルや行がハイライトされる方法。取り得る値は\r
-  <ul>\r
-  <li>'outline' -- クライアント側で、最も CPU 集約型では無い\r
-  <li>'class' -- ハイライトされた セル/行 のCSS クラスを追加(デフォルト)\r
-  <li>'both' -- アウトラインとクラスの両方を利用するハイライト\r
-  </ul>\r
-<dt>highlightClass\r
-<dd>クラスによってハイライトされる時、クラス名として利用されます(デフォルトは 'ricoLG_selection')\r
-</dl>\r
-\r
-<h4>エクスポートと印刷</h4>\r
-<dl>\r
-<dt>maxPrint\r
-<dd>ユーザに 印刷/エクスポート を許す最大行数。\r
-印刷/エクスポート を利用不能にするには 0 を設定します。(デフォルトは 1000)\r
-\r
-<dt>exportWindow\r
-<dd>エクスポートウィンドウが生成される時に、\r
-<a href='http://www.w3schools.com/htmldom/met_win_open.asp'>window.open()</a> に渡されるオプション文字列。\r
-(デフォルトは "height=400,width=500,scrollbars=1,menubar=1,resizable=1")\r
-</dl>\r
-\r
-<h4>イベントコントロール</h4>\r
-<dl>\r
-<dt><a name='menuEvent'></a>menuEvent\r
-<dd>グリッドメニューがいつ呼び出されるべきかを指定する文字列\r
-  <ul>\r
-  <li>'click' -- シングルクリックでメニューを呼び出す\r
-  <li>'dblclick' -- ダブルクリックでメニューを呼び出す(デフォルト)\r
-  <li>'contextmenu' -- 右クリックでメニューを呼び出す\r
-  <li>'none' -- メニューをポップアップしない\r
-  </ul>\r
-\r
-<dt>windowResize\r
-<dd>window.resize イベントの間にグリッドの大きさを変更するかどうかを指定する真偽値?\r
-グリッドがアコーディオンに組み込まれる時に、これに false が設定されなくてはなりません。(デフォルトは true)\r
-</dl>\r
-\r
-<h4>イベントハンドル</h4>\r
-<dl>\r
-<p>コンストラクタにオプションでイベントハンドラを渡す事は出来ませんが、LiveGrid が生成された後なら、設定されるかも知れません。</p>\r
-<dt>sortHandler<dd> (デフォルトは Rico.LiveGridMethods.sortHandler -- バインドされた)\r
-<dt>filterHandler<dd> (デフォルトは Rico.LiveGridMethods.filterHandler -- バインドされた)\r
-<dt>onRefreshComplete<dd> (デフォルトは Rico.LiveGridMethods.bookmarkHandler -- バインドされた)\r
-<dt>rowOverHandler<dd> (デフォルトは Rico.LiveGridMethods.rowMouseOver -- イベントリスナーとしてバインドされた)\r
-<dt>mouseDownHandler<dd> (デフォルトは Rico.LiveGridMethods.selectMouseDown -- イベントリスナーとしてバインドされた)\r
-<dt>mouseOverHandler<dd>(デフォルトは Rico.LiveGridMethods.selectMouseOver -- イベントリスナーとしてバインドされた)\r
-<dt>mouseUpHandler<dd> (デフォルトは Rico.LiveGridMethods.selectMouseUp -- イベントリスナーとしてバインドされた)\r
-<dt>onscroll<dd> グリッドが垂直にスクロールされる時は、いつでも呼ばれます。(デフォルトは null)\r
-<dt>onscrollidle<dd> グリッドが垂直にスクロールされた 1、2 秒後に呼ばれます。(デフォルトは null)\r
-<dt>click<dd> グリッドセルがクリックされた時に呼ばれます。(デフォルトは menuEvent='click' で無ければ null)\r
-<dt>dblclick<dd> グリッドセルがダブルクリックされた時に呼ばれます。(デフォルトは menuEvent='dblclick' で無ければ null)\r
-<dt>contextmenu<dd> グリッドセルが右クリックされた時に呼ばれます。(デフォルトは menuEvent='contextmenu' で無ければ null)\r
-</dl>\r
-\r
-<h4><a name="column"></a>列ごとの構成</h4>\r
-<dl>\r
-<p>各々の列のためのオプションは、columnSpecs オプションに含まれます。\r
-columnSpecs は、各々の列のためのエントリに関する配列です。\r
-各々の列のエントリは、以下のいずれかで行う事が出来ます。\r
-<ul>\r
-\r
-<li>null (デフォルト) -- その場合、Rico.TableColumn.DEFAULT. の仕様によって列はフォーマットされます。\r
-グリッドの多くの列が共通のフォーマットを共有するならば、グリッドのデフォルト列仕様をオーバーライドする事は意味があるかもしれません。\r
-<pre>\r
-Rico.TableColumn.DEFAULT = {ClassName:'aligncenter', width:50};\r
-</pre>\r
-この場合は、仕様の無いどんな列でも、整列は中央で幅は 50 ピクセルの内容を持ちます。\r
-\r
-<li>a string -- 列のフォーマットを指定する単純な方法を提供します。\r
-DOLLAR、EURO、PERCENT、QTY、DEFAULT の値がビルトインされています。\r
-独自のものを定めることも可能です。\r
-温度フォーマットを定義したこの例は、weather.php から取得されます\r
-\r
-<pre>\r
-Rico.TableColumn.TEMP = {type:'number', decPlaces:0, \r
-  ClassName:'alignright', suffix:'&amp;deg;C', width:50};\r
-var opts = {  \r
-  frozenColumns : 1,\r
-  columnSpecs   : [{width:120},{width:70},{width:70},{width:100},\r
-                   'TEMP','TEMP','TEMP',\r
-                   {width:150},{width:200},{width:60}]\r
-};\r
-</pre>\r
-\r
-<li>an object -- 下記の表にあるプロパティの一つ以上のエントリを含む。\r
-ここに、列 0、1 と 3 が仕様を含む例を挙げます。\r
-列 2 はデフォルトの仕様を取得します。\r
-<pre>\r
-columnSpecs : [{canSort:false, noResize:true, ClassName:'alignright'},\r
-               {ClassName:'aligncenter'},\r
-               ,\r
-               {visible:false}]\r
-</pre>\r
-</ul>\r
-\r
-<dt>Hdg\r
-<dd>列の見出しテキストを指定する代わりの方法。\r
-グリッド ID が、html テーブルの代わりに &lt;div&gt; を参照するなら、LiveGrid によってのみ利用されます。\r
-\r
-<dt>canSort\r
-<dd>列をソートする事が出来ます。(デフォルトは grid.options.canSortDefault)\r
-\r
-<dt>canFilter\r
-<dd>列をフィルタする事が出来ます。(デフォルトは grid.options.canFilterDefault)\r
-\r
-<dt>canDrag\r
-<dd>列のセルは、ドラッグアンドドロップオペレーションのソースとして用いられる事が出来ます。\r
-"DragAndDrop" モジュールはロードされなければなりません。\r
-一時的なドラッグオブジェクトは "LiveGridDraggable" クラスが持ちます。\r
-実例として、<a href='client/drag_and_drop_grid.html'>drag_and_drop_grid.html</a> を見て下さい。(デフォルトは false)\r
-\r
-<dt>canHide\r
-<dd>列を 表示/非表示 する事が出来ます。(デフォルトは grid.options.canHideDefault)\r
-\r
-<dt>visible\r
-<dd>列は、初めは隠されていません。\r
-grid.options.saveColumnInfo.width が true で、列のためのクッキーに値があるなら、クッキーの値が優先されます。\r
-(デフォルトは true)\r
-\r
-<dt><a name='width'></a>width\r
-<dd>列の初期幅(ピクセルで)を指定する整数。\r
-ここに、それぞれの列の初期幅を設定するために LiveGrid が利用するアルゴリズムがあります。\r
-<ol>\r
-<li>options.saveColumnInfo.width が true で、列情報がグリッドのクッキーに存在する場合は\r
-(以前にグリッドの列の上でリサイズを実行したユーザのために)\r
-クッキーのその幅が利用されます。\r
-そうでない場合は、、、\r
-\r
-<li>options.columnSpecs に列の幅仕様があれば、その幅仕様が利用されます。一例として、 ex3.php/asp/aspx を見て下さい。そうでない場合は、、、\r
-\r
-<li>options.useUnformattedColWidth が true で(デフォルト)、グリッドヘッダが html テーブルから初期化されるならば、htmlテーブルの列の幅が利用されます。\r
-通常 col タグを用いて初期テーブルの列幅をコントロールする事が出来ます。(例えば &lt;col style='width:40px;' &gt;)。\r
-\r
-テーブル幅全体がブラウザー幅より小さいならば、これは動作します。\r
-しかし、それがより大きいならば、ブラウザはしばしば "col width" を無視して、全ての列を利用できるウインドウ幅の中に押し込もうとします。\r
-このように、列幅を設定するためにこの方法を使用することは信頼出来ません。\r
-そうでない場合は、、、\r
-\r
-<li>options.useUnformattedColWidth が false ならば、列の幅は options.defaultWidth により設定されます。(デフォルトは 100)\r
-</ol>\r
-したがって、列幅を LiveGrid と SimpleGrid で設定する最も信頼できる方法は、options.columnSpecs[] ですべての列に幅を指定することになります。 \r
-多くの列が共通の幅を共有するならば、options.useUnformattedColWidth=false を設定して、options.defaultWidth を共通の幅に設定する事によって、\r
-いくらかの近道をする事が出来ます。\r
-\r
-<dt><a name='noResize'>noResize</a>\r
-<dd>列のリサイズを許しますか?(デフォルトは <a href='#allowColResize'>grid.options.allowColResize</a>)\r
-\r
-<dt>ClassName\r
-<dd>デフォルトでは、LiveGrid はユニークな CSS クラス名を、table_id + '_col' + column_index の命名規約に従い、それぞれの列に割り当てます。\r
-例えば、グリッド 'mygrid' の第 4 列は、クラス名 'mygrid_col3' を持ちます。\r
-ClassName オプションの値は、このデフォルト名をオーバーライドします。\r
-ClassName オプションは、Rico が提供する 'alignright' と 'aligncenter' クラスによって列の整列を指定するために、最も一般的に用いられます。\r
-なので、グリッドの最初の 3 つの列が赤い背景色に白いテキストで表示されることを望むならば、あなたは以下のどちらでもすることが出来ます。\r
-\r
-<pre>\r
-In CSS:\r
-.mygrid_col0 div.ricoLG_cell, \r
-.mygrid_col1 div.ricoLG_cell, \r
-.mygrid_col2 div.ricoLG_cell {\r
-  color: white;\r
-  background-color: red;\r
-}\r
-</pre>\r
-\r
-または\r
-\r
-<pre>\r
-In CSS:\r
-.WhiteOnRed div.ricoLG_cell {\r
-  color: white;\r
-  background-color: red;\r
-}\r
-\r
-In javascript:\r
-columnSpecs : [{ClassName:'WhiteOnRed'},\r
-               {ClassName:'WhiteOnRed'},\r
-               {ClassName:'WhiteOnRed'},\r
-               ...\r
-</pre>\r
-\r
-最後に、この ClassName がグリッドの見出しに適用されない点に注意してください - \r
-ヘッダの整列を達成するためには、&lt;th&gt; タグで align="right" を利用して下さい。\r
-\r
-<dt>type\r
-<dd>これらの値の内の一つを含む文字列。\r
-<ul>\r
-<li>text - 列の値のどんなタグでも、ユーザに表示される前に取り除かれます。\r
-<li>showTags - 列の値のどんなタグでも、ユーザにテキストとして表示されます。\r
-<li>number - 列の値は数として扱われ、列仕様で与えられるどんな <a href='#NumberFormatting'>number formatting options</a> でも適用されます。\r
-<li>datetime - 列の値は 日付 &amp; 時間 として扱われ、列仕様で与えられるどんな <a href='#DateFormatting'>date formatting options</a> でも適用されます。\r
-<li>UTCasLocalTime - 列やデータベースの値は GMT/UTC 日付 &amp; 時間 として扱われ、列仕様で与えられるどんな <a href='#DateFormatting'>date formatting options</a> でも適用されます。\r
-表示される前に、その値はユーザのローカルタイムゾーンに変換されます。\r
-<li>date - 列の値は日付として扱われ、列仕様で与えられるどんな <a href='#DateFormatting'>date formatting options</a> でも適用されます。\r
-<li>raw (default) - 列の値は、グリッドのセルに直接表示されます。どんなHTMLマークアップでもセルにコピーされます。\r
-</ul>\r
-</dd>\r
-\r
-<dt><a name='control'></a>コントロール\r
-<dd>特別なフォーマットを列に提供するのに用いられるオブジェクト。\r
-いくつかの列コントロールは LiveGrid により提供されます。\r
-それらのためのコードは、 ricoLiveGridControls.js にあります。\r
-ここに、提供されるコントロールの簡潔な記述があります。\r
-\r
-<dl style='font-size:smaller;'>\r
-<dt>Rico.TableColumn.checkboxKey(showKey)\r
-<dd> &lt;checkbox&gt; &lt;key value&gt; として列のユニークキーを表示し、どのキーがユーザによって選択されているかを見逃しません。\r
-キーの値は &lt;、 &gt;、 または &amp; を含むべきではありません。\r
-\r
-<dt>Rico.TableColumn.checkbox(checkedValue, uncheckedValue, defaultValue, readOnly)\r
-<dd>チェックボックスとして列を表示します。データベースの列は、二つの値のみを含まなければなりません(例えば yes/no)。\r
-以下のコードは、ex7 から取得されます(列の値は 1 と 0)。\r
-<pre>\r
-columnSpecs: [{canHide:false,\r
-               control:new Rico.TableColumn.checkbox('1','0'),\r
-               ClassName:'aligncenter'},\r
-              'specQty'],\r
-</pre>\r
-\r
-<dt>Rico.TableColumn.textbox(boxSize, boxMaxLen, readOnly)\r
-<dd>テキストボックス内に列の値を表示します。\r
-\r
-<dt>Rico.TableColumn.HighlightCell(chkcol,chkval,highlightColor,highlightBackground)\r
-<dd>特定の値が指定された列に存在する時、グリッドのセルをハイライトします。\r
-以下のコードは ex2highlight から取得され、列 1 が "HANAR" を含む時、行全体をハイライトします。\r
-<pre>\r
-var CustId='HANAR';\r
-var CustIdCol=1;\r
-var highlight=Rico.TableColumn.HighlightCell;\r
-...\r
-columnSpecs: [\r
-{ control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ type:'date', control:new highlight(CustIdCol,CustId,'red','yellow') },\r
-{ type:'date', control:new highlight(CustIdCol,CustId,'red','yellow') }]\r
-</pre>\r
-\r
-<dt>Rico.TableColumn.bgColor()\r
-<dd>データベースの値が css カラーの名前や値を含みます。\r
-\r
-<dt>Rico.TableColumn.link(href,target)\r
-<dd>データベースの値が、他のページへの URL を含みます。\r
-href パラメータは、文字列に "{x}" を含む事により、グリッドの値への参照を含むかもしれません。 x は列の番号です。\r
-以下のコードは ex6 から取得されます。\r
-<pre>\r
-columnSpecs: [,\r
-{control:new Rico.TableColumn.link('ex2.asp?id={0}','_blank'),\r
- width:250},\r
-,'specQty']\r
-</pre>\r
-\r
-<dt>Rico.TableColumn.image()\r
-<dd>データベースの値が画像への url を含みます。\r
-以下のコードは photos.php から取得されます。\r
-<pre>\r
-imgctl=new Rico.TableColumn.image();\r
-...\r
-columnSpecs: [\r
-{control:imgctl,width:90},,,\r
-{type:'datetime'},{width:200}]\r
-</pre>\r
-\r
-<dt>Rico.TableColumn.lookup(map, defaultCode, defaultDesc)\r
-<dd>データベースの値を表示される値にマップします。\r
-</dl>\r
-\r
-<br>アプリケーション特有のロジックを実装する、独自の列コントロールを書く事も可能です。\r
-ここに例があります。\r
-<pre>\r
-// Display values white on black if\r
-//   first column contains the value "reverse"\r
-// Usage: { control:new MyCustomColumn() }\r
-MyCustomColumn = Class.create();\r
-\r
-MyCustomColumn.prototype = {\r
-  initialize: function() {},\r
-\r
-  _clear: function(gridCell,windowRow) {\r
-    gridCell.style.color='';\r
-    gridCell.style.backgroundColor='';\r
-    gridCell.innerHTML='&amp;nbsp;';\r
-  },\r
-\r
-  _display: function(v,gridCell,windowRow) {\r
-    var col0=this.liveGrid.buffer.getWindowValue(windowRow,0);\r
-    if (col0=="reverse") {\r
-      gridCell.style.color='white';\r
-      gridCell.style.backgroundColor='black';\r
-    } else {\r
-      gridCell.style.color='';\r
-      gridCell.style.backgroundColor='';\r
-    }\r
-    gridCell.innerHTML=this._format(v);\r
-  }\r
-}\r
-</pre>\r
-\r
-<dt><a name='filterUI'></a>filterUI\r
-<dd><a href='#FilterLocation'>FilterLocation</a> オプションがグリッドに指定されるならば、filterUI はそれぞれの列がどのようにフィルタされるかについてコントロールします。\r
-もし filterUI が、\r
-<ul>\r
-<li>null または省略されたら、列にはフィルタが表示されません。\r
-<li>'t' - テキストボックスフィルタを生成し、レコードはユーザのキーボードからの入力によってフィルタされて表示されます。\r
-<br>任意に後につくキャレット(^)は、テキストボックスの値が列の値の始めに一致すべき事を示します。\r
-そうでない場合は、列の値のどこにでも一致します。\r
-<br>任意に後につく数値はテキストボックスの数値を意味します(デフォルトのサイズは 10)\r
-<pre>\r
-filterUI:'t^20' \r
-// will create a text box that is 20 characters wide\r
-// text typed into the box will be compared to\r
-//    the beginning of each column value\r
-</pre>\r
-<li>'s' - リストに含む事の出来るすべての列の値と共にセレクトリストフィルタを生成します。\r
-グリッドのソースが SQL クエリなら、'select distinct' クエリを利用して実装されます。\r
-<ul>\r
-</dl>\r
-\r
-<dl>\r
-<a name='NumberFormatting'></a>\r
-<p><em>数値フォーマット:</em></p>\r
-\r
-<dt>multiplier\r
-<dd>表示される前に、その値はこの数値によって乗算されます。(デフォルトは 1)\r
-\r
-<dt>decPlaces\r
-<dd>小数点より右側の桁数(デフォルトは 0)\r
-\r
-<dt>decPoint\r
-<dd>小数点のシンボル(翻訳ファイルでオーバーライドされなければ、デフォルトは '.')\r
-\r
-<dt>thouSep\r
-<dd>千桁区切りのためのシンボル。(翻訳ファイルでオーバーライドされなければ、デフォルトは ',')\r
-\r
-<dt>negSign\r
-<dd>負数がどのように表示されるべきかを指定します。取り得る値は\r
-<ul>\r
-<li>L= 先頭にマイナスをつける(デフォルト)\r
-<li>T= 後ろにマイナスをつける\r
-<li>P= 括弧で囲む\r
-</ul>\r
-\r
-<dt>prefix\r
-<dd>数に始まりの文字列を付加します。一般的に通貨シンボルです。\r
-\r
-<dt>suffix\r
-<dd>数値の終わりに付加される文字列。例えば、 "%" シンボル。</dd>\r
-</dl>\r
-\r
-<dl>\r
-<a name='DateFormatting'></a>\r
-<p><em>日付フォーマット:</em></p>\r
-\r
-<dt>dateFmt\r
-<dd>date または datetime をどのように表示するのかを指定する文字列。\r
-デフォルトは "translateDate" であり、RicoTranslate オブジェクトで利用される dateFmt と timeFmt 文字列を意味します。\r
-(各種言語の翻訳ファイルでオーバーライドされなければ、、date のデフォルトは "mm/dd/yyyy" であり、datetime は "mm/dd/yyyy hh:mm:ss a/pm" です。)\r
-dateFmt="localeDate" ならば、その値は javascript のビルトイン関数である toLocaleDateString() を利用してフォーマットされる。\r
-dateFmt="localeDateTime" ならば、その値は javascript のビルトイン関数である toLocaleString() を利用してフォーマットされる。\r
-dateFmt 文字列は、以下の特殊文字シーケンスを含むでしょう。\r
-\r
-<ul>\r
-<li>yyyy - 4 桁の年\r
-<li>yy - 2 桁の年\r
-<li>mmmm - 月名\r
-<li>mmm - 3 文字の月名省略形。アジアの言語では、これはしばしば意味をなしません - これらの場合、それは完全な月の名前(mmmm と同じ)を返します。\r
-<li>mm - 2 桁の月数(ゼロで埋められた)\r
-<li>m - 1 または 2 桁の月数\r
-<li>dddd - 曜日\r
-<li>ddd - 3 文字の曜日省略形\r
-<li>dd - 2 桁の日数(ゼロで埋められた)\r
-<li>d - 1 または 2 桁の日数\r
-<li>hh - 2 桁の時、 12 時間時計(ゼロで埋められた)\r
-<li>h - 1 または 2 桁の時、 12 時間時計\r
-<li>HH - 2 桁の分、 24 時間時計(ゼロで埋められた)\r
-<li>H - 1 または 2 桁の時間、 24 時間時計\r
-<li>nn - 2 桁の分(ゼロで埋められた)\r
-<li>ss - 2 桁の秒(ゼロで埋められた)\r
-<li>a/p - a または p (am または pm のための)\r
-</ul>\r
-\r
-<pre>\r
-// display first column as "month year"\r
-columnSpecs : [{type:date, dateFmt:'mmm yyyy'}]\r
-</pre>\r
-</dd>\r
-\r
-<dt>prefix\r
-<dd>日付の先頭に付け加えられる文字列\r
-\r
-<dt>suffix\r
-<dd>日付の終わりに付加される文字列。例えば、タイムゾーンを含めるために利用出来ます。\r
-<pre>\r
-// indicate that times are GMT/UTC\r
-columnSpecs : [{type:datetime, suffix:' UTC'}]\r
-</pre>\r
-</dl>\r
-\r
-</body>\r
-</html>\r
index 16ab95f..d9942eb 100644 (file)
@@ -9,9 +9,6 @@
 <body>\r
 <h1>Creating a Rico SimpleGrid</h1>\r
 \r
-<p><a href='SimpleGrid_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='SimpleGrid_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>SimpleGrid's are new to Rico 2.0 and share some of the same functionality as LiveGrids - \r
 resizable columns, frozen columns, and frozen headings. \r
 However, unlike a LiveGrid, the data is static and resides in the DOM -\r
diff --git a/documentation/SimpleGrid_ja.html b/documentation/SimpleGrid_ja.html
deleted file mode 100644 (file)
index c69870f..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<title>Rico SimpleGrid</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-</head>
-
-<body>
-<h1>Rico SimpleGrid の作成</h1>
-
-<p>SimpleGrid は Rico 2.0 で追加され、LiveGrids と同じ機能のいくらかを共有します - 
-リサイズ可能な列、固定された列と固定された見出し。
-しかしながら、LiveGrid と異なり、データは静的であり DOM に存在します - 
-それゆえに、バッファリング、AJAX リフレッシュ、ソート、フィルタリングの機能がありません。
-なぜ、SimpleGrid を使うのでしょうか?
-<ul>
-<li>それぞれのセルが含むことが出来るものが、より柔軟であるので - 
-列内のセルがすべて同じタイプである必要はありません。
-<li>状況によって、それは LiveGrid よりクライアント上で、より良く実行することができます。
-特にグリッドに多くの列を表示している遅いクライアントで。
-<li>最後に、SimpleGrid は入力要素である(チェックボックス、セレクトリスト、その他)を含むことができます。 
-LiveGrid も入力要素を含むことができますが、要素の値が LiveGrid のバッファに保存されるので、
-サーバに値をサブミットするには扱いにくいです。
-SimpleGrids は、この問題で苦しみません。
-あなたが単に標準的な <code>&lt;form&gt;...&lt;/form&gt;</code> タグでグリッド全体を囲めば、
-グリッド中のどんな入力要素でもサーバーへサブミットされます。
-</ul>
-
-<p>SimpleGrids は、次の 2 つの方法で作成する事が出来ます。
-<ol>
-<li>SimpleGrid プラグインの中の 1 つを用いて。PHP、ASP と .net のためのプラグインが存在します。
-<li>XSLTを用いて。Rico は、標準的なHTMLテーブルを SimpleGrid に変換する XSL ファイルを持っています。
-</ol>
-
-<h2>利用モデル 1: SimpleGrid プラグインの利用</h2>
-<p>このセクションは、Rico ディストリビューションに含まれる 
-simplegrid.php/asp/aspx の実例について記述します
-<ul>
-<li>PHP では。
-<ul>
-<li>最初に、SimpleGrid プラグインへの参照を作成して下さい。
-<pre>
-require "../../plugins/php/SimpleGrid.php";
-</pre>
-<li>SimpleGrid プラグインクラスのインスタンスを作成して下さい(サーバサイド)。
-<pre>
-$grid=new SimpleGrid();
-</pre>
-
-<li>グリッドの見出しを作成して下さい。
-AddHeadingRow に 'true' を渡して、これがメインの見出し行である事を示します - 
-それはリサイザを得ます。
-メインの見出し行の列数は、データの列数と <em>必ず</em> 同じでなければなりません。
-他の見出し行は、複合列を扱うために "colspan" タグを含むかも知れません。
-複合見出し行を持つならば、唯一無二の一行だけが、メインの行として指定されるかもしれません。
-<pre>
-$grid->AddHeadingRow(true);
-for ($c=1; $c<=$numcol; $c++) {
-  $grid->AddCell("Column $c");
-}
-</pre>
-
-<li>グリッドデータセクションを実装して下さい。
-どこででも AddDataRow() を呼んで、通常は、標準的な html テーブルに <code>&lt;tr&gt;</code> タグを配置します。
-どこででも AddCell() を呼んで、 <code>&lt;td&gt;</code> タグを配置します。
-<pre>
-for ($r=1; $r<=100; $r++) {
-  $grid->AddDataRow();
-  $grid->AddCell($r);
-  for ($c=2; $c<=$numcol; $c++) {
-    $grid->AddCell("Cell $r:$c");
-  }
-}
-</pre>
-
-<li>テーブルをレンダリングして下さい(html 出力を生成します)。
-最初のパラメータはグリッド id で、第二のパラメータは、固定された列の数です。
-<pre>
-$grid->Render("ex1", 1);
-</pre>
-
-</ul>
-
-<li>ASP では。
-<ul>
-<li>最初に、SimpleGrid プラグインへの参照を作成して下さい。
-<pre>
-&lt;!-- #INCLUDE FILE = "../../plugins/asp/SimpleGrid.vbs" --&gt;
-</pre>
-
-<li>SimpleGrid プラグインクラスのインスタンスを作成して下さい(サーバサイド)。
-<pre>
-set grid=new SimpleGrid
-</pre>
-
-<li>グリッドの見出しを作成して下さい。
-AddHeadingRow に 'true' を渡して、これがメインの見出し行である事を示します - 
-それはリサイザを得ます。
-メインの見出し行の列数は、データの列数と <em>必ず</em> 同じでなければなりません。
-他の見出し行は、複合列を扱うために "colspan" タグを含むかも知れません。
-複合見出し行を持つならば、唯一無二の一行だけが、メインの行として指定されるかもしれません。
-<pre>
-grid.AddHeadingRow true
-for c=1 to numcol
-  grid.AddCell "Column " & c
-next
-</pre>
-
-<li>グリッドデータセクションを実装して下さい。
-どこででも AddDataRow() を呼んで、通常は、標準的な html テーブルに <code>&lt;tr&gt;</code> タグを配置します。
-どこででも AddCell() を呼んで、<code>&lt;td&gt;</code> タグを配置します。
-<pre>
-for r=1 to 100
-  grid.AddDataRow
-  grid.AddCell r
-  for c=2 to numcol
-    grid.AddCell "Cell " & r & ":" & c
-  next
-next
-</pre>
-
-<li>テーブルをレンダリングして下さい(html 出力を生成します)。
-最初のパラメータはグリッド id で、第二のパラメータは、固定された列の数です。
-<pre>
-grid.Render "ex1", 1
-</pre>
-</ul>
-
-<li>.net では。
-<ul>
-<li>最初に、SimpleGrid プラグインへの参照を作成して下さい。
-<pre>
-&lt;%@ Register TagPrefix="Rico" TagName="SimpleGrid" 
-    Src="../../plugins/dotnet/SimpleGrid.ascx" %&gt;
-</pre>
-
-<li>SimpleGrid プラグインクラスのインスタンスを作成して下さい(サーバサイド)。
-<pre>
-&lt;Rico:SimpleGrid runat='server' id='ex1' FrozenCols='1' /&gt;
-</pre>
-
-<li>グリッドの見出しを作成して下さい - 通常は Page_Load イベント内で。
-AddHeadingRow に 'true' を渡して、これがメインの見出し行である事を示します - 
-それはリサイザを得ます。
-メインの見出し行の列数は、データの列数と <em>必ず</em> 同じでなければなりません。
-他の見出し行は、複合列を扱うために "colspan" タグを含むかも知れません。
-複合見出し行を持つならば、唯一無二の一行だけが、メインの行として指定されるかもしれません。
-<pre>
-  ex1.AddHeadingRow(true)
-  for c=1 to numcol
-    ex1.AddCell("Column " & c)
-  next
-</pre>
-
-<li>グリッドデータセクションを実装して下さい。
-どこででも AddDataRow() を呼んで、通常は、標準的な html テーブルに <code>&lt;tr&gt;</code> タグを配置します。
-どこででも AddCell() を呼んで、<code>&lt;td&gt;</code> タグを配置します。
-<pre>
-  for r=1 to 100
-    ex1.AddDataRow()
-    ex1.AddCell(r)
-    for c=2 to numcol
-      ex1.AddCell("Cell " & r & ":" & c)
-    next
-  next
-</pre>
-
-<li>他のプラグインと違い、.net コントロールにより自動的にレンダリングされます。
-</ul>
-
-<li>最後に、利用されるプラグインに関係なく javascript SimpleGrid オブジェクトを
-初期化する必要があります(クライアントサイド):
-<pre>
-&lt;script type='text/javascript'&gt;
-Rico.loadModule('SimpleGrid','greenHdg.css');
-
-Rico.onLoad( function() {
-  var opts = {  
-    columnSpecs: ['specQty']  // display first column as a numeric quantity
-  };
-  var ex1=new Rico.SimpleGrid ('ex1', opts);
-});
-&lt;/script&gt;
-</pre>
-
-</ul>
-
-
-<h2>利用モデル 2: XSLT 変換の利用</h2>
-
-<p>ウェブページが XHTML 対応であるなら、ページ上の標準的な html テーブルを、
-"ricoSimpleGrid.xsl" XSL スタイルシートを利用した SimpleGrid にする事が可能です。
-一時、Rico はクライアントでこの変換をする事をサポートしていました。
-しかし、Prototype ライブラリの変化により、これは既に可能でありません。
-したがって、このアプローチを使う方を選ぶなら、XSLT 変換は <em>必ず</em> サーバで実行されなければなりません。
-サーバサイド変換を行うインストラクション。
-<ul>
-<li><a href="http://www.php.net/manual/en/ref.xsl.php">PHP5 を利用して</a>
-<li><a href="http://www.topxml.com/dotnet/articles/xslt/default.asp">.net を利用して</a>
-</ul>
-
-<p>この変換は "ricoSimpleGrid" クラスでテーブルをコンバートするだけです。
-<pre>
-&lt;table id='test1' class='ricoSimpleGrid'&gt;
-</pre>
-
-<p>固定された列の見出しは、 <code>&lt;th&gt;</code> タグに class="ricoFrozen" を持たなければなりません。
-複合見出し行があるならば、メインの見出し行は "_main" で終わる id を持たなければなりません
-(これは、リサイズハンドルを表示する行です)。
-その変換は、テーブルの <code>&lt;thead&gt;</code> セクションでグリッドの見出しを探します。
-thead セクションが存在しないなら、その変換はテーブルの最初の行が見出し列であると仮定します。
-<pre>
-&lt;table id="test1" class="ricoSimpleGrid"&gt;
-
-  &lt;thead&gt;
-     &lt;tr id="customer_livegrid_main"&gt;
-        &lt;th class="ricoFrozen"&gt;ID&lt;/th&gt;
-        &lt;th&gt;Customer&lt;/th&gt;
-        &lt;th&gt;Address&lt;/th&gt;
-        &lt;th&gt;City&lt;/th&gt;
-     &lt;/tr&gt;
-  &lt;/thead&gt;
-
-  &lt;tbody&gt;
-    &lt;!-- grid data --&gt;
-  &lt;/tbody&gt;
-&lt;/table&gt;
-</pre>
-
-<p>最後に、SimpleGrid javascript オブジェクトは、CDATA セクションで宣言と初期化が行われなければなりません。
-ricoInit() の呼び出しは、XSLT 変換によって生成されます。
-<pre>
-&lt;script type="text/javascript"&gt;
-//&lt;![CDATA[
-
-function ricoInit() {
-  try {
-  Rico.loadModule('SimpleGrid');
-  Rico.onLoad(ricoInit2);
-  } catch(e) { alert(e.message); }
-}
-
-var grid1
-function ricoInit2() {
-  try {
-  grid1=new Rico.SimpleGrid ('test1',{maxHt:180});
-  } catch(e) { alert(e.message); }
-}
-//]]&gt;
-&lt;/script&gt;
-</pre>
-
-
-
-<h2>リファレンス</h2>
-
-<h3>コンストラクタ</h3>
-<pre>
-
-  var grid = new Rico.SimpleGrid (table_id, grid_options);
-
-</pre>
-<ul><li><strong>table_id</strong> は、LiveGrid によって実装されるテーブルの DOM id です
-<li><strong>grid_options</strong>(下記参照)
-</ul>
-
-<h3>オプション</h3>
-<h4>一般的なオプション</h4>
-<dl>
-
-<dt>frozenColumns
-<dd>グリッドの左側の固定された列の数(デフォルトは 0)
-
-<dt>maxHt
-<dd>SimpleGrid の高さの最大ピクセル(デフォルトは null)
-
-<dt>windowResize
-<dd>window.resize イベントでグリッドをリサイズしますか?
-アコーディオンに埋め込まれる時は false を設定して下さい(デフォルトは true)
-
-<dt>useUnformattedColWidth
-<dd>グリッドの構成時に、html テーブルの列幅を利用しますか?(デフォルトは true)
-
-<dt>scrollBarWidth
-<dd>実際にはスクロールバーの幅を変えず、位置決めで使用されます。(デフォルトは 19)
-
-<dt>minScrollWidth
-<dd>固定された列の幅がクライアントウィンドウの幅を上回る時、
-スクロールしている列の幅の合計がどのくらい広がるべきですか?
-
-<dt>highlightElem
-<dd>グリッドで何がハイライトされますか。取り得る値は。
-<ul>
-<li>cursorRow - カーソルの下のグリッドの行
-<li>cursorCell - カーソルの下のグリッドのセル
-<li>menuRow - ユーザがグリッドのコンテキストメニューを開く時に関連のある行
-<li>menuCell - ユーザがグリッドのコンテキストメニューを開く時に関連のあるセル
-<li>selection - ユーザによって選択されるセル
-<li>none - 何もハイライトされない(デフォルト)
-</ul>
-
-<dt>exportWindow
-<dd>ユーザがグリッドからデータをエクスポートする時 window.open() に渡されるオプション文字列。
-(デフォルトは "height=300,width=500,scrollbars=1,menubar=1,resizable=1")
-</dl>
-
-
-<h4>画像</h4>
-<dl>
-<dt>resizeBackground
-<dd>列のリサイズハンドルに利用される画像(デフォルトは 'resize.gif')
-
-<dt>sortAscendImg
-<dd>列を昇順でソートする事を示すために使われる画像(デフォルトは 'sort_asc.gif')
-
-<dt>sortDescendImg
-<dd>列を降順でソートする事を示すために使われる画像(デフォルトは 'sort_desc.gif')
-</dl>
-
-
-<h4>メニューとイベントハンドリングオプション</h4>
-<dl>
-
-<dt>contextmenu
-<dd>ユーザがグリッドのセル上で右クリックした時に取る行動(デフォルトは null)
-
-<dt>menuEvent
-<dd>メニューのトリガーイベント。取り得る値は。
-<ul>
-<li>click
-<li>dblclick (デフォルト)
-<li>contextmenu
-<li>none
-</ul>
-
-<dt>click
-<dd>ユーザがグリッドのセル上でシングルクリックした時に取る行動(デフォルトは null)
-
-<dt>dblclick
-<dd>ユーザがグリッドのセル上でダブルクリックした時に取る行動(デフォルトは null)
-
-</dl>
-
-<h4>クッキーオプション</h4>
-<dl>
-
-<dt>saveColumnInfo
-<dd>グリッドのクッキーに、どの詳細設定を保存するかを指定します。
-一つのクッキーだけが、それぞれのグリッドのために利用されます。
-幅の設定が、列の非表示/表示の状態を含む事に注意して下さい。(デフォルトは {width:true, filter:false, sort:false}) 
-
-<dt>cookiePrefix
-<dd>クッキー名の先頭に付け加えられる文字列(デフォルトは 'RicoGrid.')
-
-<dt>cookieDays
-<dd>数字の日数前のクッキーは期限切れになります。
-指定しなければ、クッキーは現在のセッションの間だけ維持されます。(デフォルトは null)
-
-<dt>cookiePath
-<dd>グリッドのクッキーを読む事が出来るトップレベルディレクトリを設定します。
-指定しなければ、それはクッキーを設定するページのパスになります。(デフォルトは null)
-
-<dt>cookieDomain
-<dd>クッキーがどのドメインに送られなければならないかについて、ブラウザに知らせます。
-指定しなければ、それはクッキーを設定するページのドメインになります。(デフォルトは null)
-
-</dl>
-
-<h4>デフォルトの列</h4>
-<dl>
-<dt style='font-weight:normal;'>これらのアイテムはそれぞれ、
-columnSpecs  オプションによって、列ごとのベースにオーバーライドする事が出来ます。
-
-<dt>canSortDefault
-<dd>列はデフォルトでソート可能ですか?(LiveGrid のデフォルトは true、SimpleGrid のデフォルトは false)
-
-<dt>canFilterDefault
-<dd>列をフィルタする事が出来ますか?
-(LiveGrid のデフォルトは RicoBuffer.options.canFilter、SimpleGrid のデフォルトは false)
-
-<dt>canHideDefault
-<dd>列を 表示/非表示 する事が出来ますか?(デフォルトは true)
-
-<dt>allowColResize
-<dd>ユーザによる列のリサイズを許しますか? (デフォルトは true)
-
-<dt>defaultWidth
-<dd>それぞれの列のデフォルトのピクセル幅
-
-</dl>
-
-<h4>列ごとの構成</h4>
-<dl>
-<dt style='font-weight:normal;'>各々の列のためのオプションは、columnSpecs オプションに含まれます。
-columnSpecs は、各々の列のためのエントリに関する配列です。
-各々の列のエントリは、以下のいずれかで行う事が出来ます。
-<ul>
-<li>null (デフォルト) --  その場合、Rico.TableColumn.DEFAULT. の仕様によって列はフォーマットされます。
-<li>a string -- あらかじめ定義されたフォーマットの内の一つを定義します:QTY、PERCENT、DOLLAR、または EURO
-<li>an object -- 下記の表にあるプロパティの一つ以上のエントリを含みます。
-</ul>
-<p>ここに、列 0、1 と 3 が仕様を含む例を挙げます。
-<pre>
-columnSpecs : [{noResize:true, ClassName:'alignright'},
-               {ClassName:'aligncenter'},
-               ,
-               {visible:false}]
-</pre>
-
-<dt>canHide
-<dd>列を 表示/非表示 する事が出来ます。(デフォルトは grid.options.canHideDefault)
-
-<dt>visible
-<dd>列は、初めは隠されていません。
-grid.options.saveColumnInfo.width が true で、列のためのクッキーに値があるなら、クッキーの値が優先されます。
-(デフォルトは true)
-
-<dt>width
-<dd>列の初期幅。
-grid.options.saveColumnInfo.width が true で、列のためのクッキーに値があるなら、クッキーの値が優先されます。
-(デフォルトは grid.options.defaultWidth)
-
-<dt>noResize
-<dd>列のリサイズを許しますか?(デフォルトは grid.options.allowColResize)
-
-<dt>ClassName
-<dd>必要に応じて、これを 'alignright' または 'aligncenter' にセットして下さい - 例を見て下さい。
-これが見出しを整列しない事に注意して下さい - ヘッダの整列を達成するためには、&lt;th&gt; タグで align="right" を利用して下さい。
-(デフォルトは table_id + '_col' + column_index)
-
-</dl>
-
-</body>
-</html>
index fda2349..8f0c339 100644 (file)
@@ -2,21 +2,18 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<title>Grid Browser Compatibility</title>
+<title>Rico Browser Compatibility</title>
 <link href="ricoDocs.css" rel="Stylesheet" type="text/css">
 </head>
 
 <body>
-<h1>Rico Grid Browser Compatibility</h1>
+<h1>Rico Browser Compatibility</h1>
 
-<p><a href='browsers_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>
-<a href='browsers_ja.html'>View this page in Japanese</a></p>
-
-<p>Rico 2.x grid examples have been tested on the following browsers and operating systems.
-LiveGrid and SimpleGrid likely work in other environments 
+<p>Rico 3.0 examples have been tested on the following browsers and operating systems.
+Rico likely works in other environments 
 (e.g. Opera on the Mac, etc); this list
 just indicates where developer testing has been completed.
-Except where noted below, all aspects of the grid are fully functional.
+Except where noted below, all aspects of the Rico are fully functional.
 <p><table border="1" cellpadding='4' cellspacing='0' class="compat">
        <thead><tr>
          <th>&nbsp;</th>
@@ -53,7 +50,7 @@ Except where noted below, all aspects of the grid are fully functional.
          <td><img src='images/checkmark.gif' alt='checkmark'></td>
        </tr>
        <tr>
-         <th>FF 3.0</th>
+         <th>FF 3.x</th>
          <td><img src='images/checkmark.gif' alt='checkmark'></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
@@ -95,7 +92,7 @@ Except where noted below, all aspects of the grid are fully functional.
          <td><img src='images/checkmark.gif' alt='checkmark'></td>
        </tr>
        <tr>
-         <th>Google Chrome (beta)</th>
+         <th>Google Chrome</th>
          <td><img src='images/checkmark.gif' alt='checkmark'></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
diff --git a/documentation/browsers_ja.html b/documentation/browsers_ja.html
deleted file mode 100644 (file)
index 1cc291b..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<title>Grid Browser Compatibility</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-</head>
-
-<body>
-<h1>Rico Grid のブラウザ互換性</h1>
-
-<p>Rico 2.0 グリッドの実例は、以下のブラウザとオペレーティングシステム上でテストされました。
-LiveGrid と SimpleGrid は、他の環境でも、おそらく動きます。
-(例えば、MS Vista、Mac 上の Opera、その他)
-この表は、単に開発者のテストがどの環境で行われ、完了したかについて示します。
-下で注意される場合を除き、グリッドのすべての側面は完全に機能的です。
-<p><table border="1" cellpadding='4' cellspacing='0' class="compat">
-       <thead><tr>
-         <th>&nbsp;</th>
-         <th colspan="3">オペレーティングシステム</th>
-       </tr>
-       <tr>
-         <th>ブラウザ</th>
-         <th>Windows XP</th>
-         <th>Macintosh 10.4</th>
-         <th>Linux (Knoppix 5)</th>
-       </tr></thead>
-       <tbody><tr>
-         <th>IE6</th>
-         <td><img src='images/checkmark.gif'></td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-       </tr>
-       <tr>
-         <th>IE7</th>
-         <td><img src='images/checkmark.gif'></td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-       </tr>
-       <tr>
-         <th>FF 1.5/2.0</th>
-         <td><img src='images/checkmark.gif'></td>
-         <td><img src='images/checkmark.gif'><sup>1</sup></td>
-         <td><img src='images/checkmark.gif'></td>
-       </tr>
-       <tr>\r
-         <th>FF 3.0</th>\r
-         <td><img src='images/checkmark.gif' alt='checkmark'></td>\r
-         <td>&nbsp;</td>\r
-         <td>&nbsp;</td>\r
-       </tr>\r
-       <tr>\r
-         <th>Opera 9.0 - 9.2</th>\r
-         <td><img src='images/checkmark.gif' alt='checkmark'><sup>1,2,3</sup></td>\r
-         <td>&nbsp;</td>\r
-         <td><img src='images/checkmark.gif' alt='checkmark'><sup>1,2,3</sup></td>\r
-       </tr>\r
-       <tr>\r
-         <th>Opera 9.5+</th>\r
-         <td><img src='images/checkmark.gif' alt='checkmark'><sup>2</sup></td>\r
-         <td>&nbsp;</td>\r
-         <td>&nbsp;</td>\r
-       </tr>\r
-       <tr>
-         <th>Safari 2.0</th>
-         <td>&nbsp;</td>
-         <td><img src='images/checkmark.gif'></td>
-         <td>&nbsp;</td>
-       </tr>
-       <tr>
-         <th>Safari 3.0 (beta)</th>
-         <td><img src='images/checkmark.gif'></td>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-       </tr>
-       <tr>
-         <th>Camino</th>
-         <td>&nbsp;</td>
-         <td><img src='images/checkmark.gif'><sup>1</sup></td>
-         <td>&nbsp;</td>
-       </tr>
-       <tr>
-         <th>Konqueror 3.5</th>
-         <td>&nbsp;</td>
-         <td>&nbsp;</td>
-         <td><img src='images/checkmark.gif'></td>
-       </tr></tbody>
-</table>
-<p>注意
-<ol>
-<li>1. これらの構成では、メニューが表示される時、スクロールバーは隠されます
-(スクロールバーはメニューに干渉しました)。
-<li>Operaでは、ダブルクリックを使用してメニューを呼び出す場合、
-"Tools -> Preferences -> Advanced tab -> Toolbars" へ行き、
-Opera の "Double click text to display context menu" をオフにするべきです。
-<li>LiveGridForms は、
-選んだボックスを扱う方法に関する <a href="http://dowdybrown.com/dbprod/testselect.htm">バグ</a> のため Opera で利用する事は
-推薦されません。<em>朗報です! このバグはバージョン9.5で直されるようです。</em>
-</ol>
-
-<p><a href="http://laptop.org">OLPC</a> は Gecko レイアウトエンジンに基づくカスタムブラウザを含んでいます。
-Rico は、このシステム上で問題無く実行出来ます。
-
-<p>Firefox のバージョンが 1.x と 2.x で、ポップアップメニューがスクロールバーの上に来た場合、
-minor artifacts を表示しました。これは、バージョン3で改善されるようです。
-
-<p>IE8 ベータ 1 は、IE7 互換モードで操作する時だけ動作します。
-
-</body>
-</html>
index 9102090..b38df24 100644 (file)
@@ -9,9 +9,6 @@
 <body>\r
 <h1>Rico Grids</h1>\r
 \r
-<p><a href='grids_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>\r
-<a href='grids_ja.html'>View this page in Japanese</a></p>\r
-\r
 <p>The Rico library supports 2 different types of grids: \r
 <strong>LiveGrid</strong> and <strong>SimpleGrid</strong>. \r
 LiveGrid data is always buffered in a 2-dimensional JavaScript array. As the user scrolls\r
diff --git a/documentation/grids_ja.html b/documentation/grids_ja.html
deleted file mode 100644 (file)
index 5563947..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<title>Rico Grid Overview</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-</head>
-
-<body>
-<h1>Rico のグリッド</h1>
-<p>Rico ライブラリは 2 つの異なったタイプのグリッドをサポートします。
-<strong>LiveGrid</strong> と <strong>SimpleGrid</strong>. 
-LiveGrid のデータは、2次元の JavaScript 配列で、常にバッファリングされます。
-ユーザがグリッドを通して垂直にスクロールするとき、データは配列からグリッドに動的にコピーされます。
-一方、SimpleGrids はバッファリングを行いません。
--- グリッドのためのすべてのデータは JavaScript のデータ構造では無く、
-<a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a> に存在しています。
-
-<p>どちらのタイプのグリッドも、次のようないくつかの共通点を持っています。
-<ul>
-<li>画面上部で切り離されてスクロールしない、固定された列見出し
-<li>グリッドの左端で固定された列
-<li>リサイズ可能な列
-<li>共通の css スタイリング - LiveGrids 用に開発されたスタイルは、SimpleGrids でも同様に機能します
-<li>右から左に読む言語(rtl)との互換性 - 
-<a href="asp/rtl/ex1.asp" target="_top">ASP</a> と <a href="php/rtl/ex1.php" target="_top">PHP</a> の実例に含まれます</a>
-<li>Rico のポップアップ(コンテキスト)メニューとの互換性
-</ul>
-
-<hr>
-<h2>LiveGrid</h2>
-<p>Rico は、LiveGrid バッファをロードするために多くのサポートを提供します。
-バッファは次の項目からロードする事が出来ます。
-<ul>
-<li>SQL データベースクエリ
-<li>XML ファイル
-<li>HTML テーブル
-<li>javascript 配列
-</ul>
-
-<h3>LiveGrid のデータベース接続</h3>
-<p>SQL クエリの実行結果を LiveGrid にロードするタスクを簡素化するために、
-Rico にはデータベースと LiveGrid を接続する "plug-ins" のセットが付属しています。
-Rico プラグインは次のデータベースでテストされました。
-
-<p><table border='1' cellspacing='0' cellpadding='4' class='compat' style='margin-bottom:0px'>
-<thead>
-<tr bgcolor='#DDD'>
-<th>&nbsp;</th>
-<th>MySQL</th>
-<th>Oracle</th>
-<th>DB2</th>
-<th>SQL Server</th>
-<th>MS Access</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<th>PHP</th>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td>&nbsp;</td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-</tr>
-<tr>
-<th>ASP</th>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-</tr>
-<tr>
-<th>.net</th>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-<td><img src='images/checkmark.gif'></td>
-</tr>
-</tbody>
-</table>
-<p style='font-size:8pt; margin:0px;'>2007 年 11 月における Rico プラグイン/データベース の互換性
-<br>
-<br>* ASP プラグインは ADO を、.netプラグインは ADO.net を使用するので、
-<br>ADO と互換性があるどんなデータソースにも接続することができるはずです。</p>
-
-<p>LiveGrid は <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">AJAX</a> テクノロジーを使うので、
-一度にクライアントへ送る SQL クエリの実行結果は一部だけです。
-ユーザーが格子をスクロールすると、
-JavaScript コードはクエリの結果のどの部分が必要とされているかについて決定し、
-AJAX リクエストをプラグインに送り返します。
-プラグインはそれらの結果をデータベースから検索して、それらをクライアントに返します。
-なので、クエリが返す結果が 10 行か 100,000 行かに関係なく、
-LiveGrid はインタラクティブなユーザインタフェースで迅速かつ容易に結果を表示する事ができます。
-
-<p>最後に、もしユーザーがデータの変更を許されているならば、Rico プラグインは、それさえも簡単にします。
-単に <strong>LiveGrid Forms</strong> を使っているグリッドを定義して下さい 
--- レコードセレクションの追加、編集、そして削除は、グリッドのコンテキスト(ポップアップ)メニューから追加されます。
-
-<ul>
-<li>追加や編集が選ばれるとき、ポップアップフォームはユーザに提示されます。
-<li>ユーザーがフォームを "保存する" とき、データはオリジナルスクリプトへポストバックされ、
-それはデータベースへ結果を書きます。
-</ul>
-
-それが複雑に聞こえるならば、心配しないでください!
-この仕事の全ては、プラグインによって取り扱われます。
-それがユーザーとプログラマーの両方にとって、
-どれくらい簡単かという実証については、 "ex2edit" の実例を見て下さい。
-"ex4edit" は、一つのページ内で複数のグリッドを編集可能にする方法を示します。
-
-<h3>LiveGrid の XML 実装</h3>
-
-<p>LiveGrid にデータをロードするのがプラグインで簡単になっている間は、それらは必要ではありません。
-データがこの形式に従う限り、どんなソースからも LiveGrid のバッファを XML データにロードする事が出来ます。
-
-<pre>
-&lt;ajax-response&gt;
-&lt;response type='object' id='MyGridId_updater'&gt;
-&lt;rows update_ui='true' offset='0'&gt;
-&lt;tr&gt;&lt;td&gt;Data for row 1, cell 1&lt;/td&gt;&lt;td&gt;Data for row 1, cell 2&lt;/td&gt;&lt;/tr&gt;
-&lt;tr&gt;&lt;td&gt;Data for row 2, cell 1&lt;/td&gt;&lt;td&gt;Data for row 2, cell 2&lt;/td&gt;&lt;/tr&gt;
-&lt;/rows&gt;
-&lt;/response&gt;
-&lt;/ajax-response&gt;
-</pre>
-
-天気と写真の実例を見てください、それぞれ Yahoo 天気情報と Flickr からデータを検索して、上記のデータ構造に再フォーマットしています。
-これらの実例は、現在、、ASP では無く PHP と .net のバージョンで利用できます。
-
-<h3>HTML テーブルデータによる LiveGrid 実装</h3>
-
-<p>LiveGrid は伝統的な HTML テーブルを持つウェブページの上で簡単に作る事も出来ます。
-単に ID をテーブルに割り当てて、LiveGrid の初期化中に、そのIDを渡してください。
-テーブルの thead セレクションと tbody のデータから見出しは取得する事が出来ます。
-この場合 AJAX は実行されませんが、データは JavaScript 配列でまだバッファリングされます。
-いくつかの実例は Rico ディストリビューションに含まれますので、
-"LiveGrid-Static Buffer" と印されている物を探して下さい。
-</p>
-
-<hr>
-<h2>SimpleGrid</h2>
-
-<p>SimpleGrid は Rico 2.0 にとって新しく、LiveGrids と同じ機能のいくらかを共有します
- - リサイズ可能な列、固定された列と固定された見出し。
-しかしながら、LiveGrid と異なり、データは静的であり DOM に存在します
- - それゆえに、バッファリング、AJAX リフレッシュ、ソート、フィルタリングの機能がありません。
-なぜ、SimpleGrid を使うのでしょうか?
-<ol>
-<li>それぞれのセルが含むことが出来るものが、より柔軟であるので - 
-列内のセルがすべて同じタイプである必要はありません。
-<li>状況によって、それは LiveGrid よりクライアント上で、より良く実行することができます。
-特にグリッドに多くの列を表示している遅いクライアントで。
-<li>最後に、SimpleGrid は入力要素である(チェックボックス、セレクトリスト、その他)を含むことができます。
-LiveGrid も入力要素を含むことができますが、要素の値が LiveGrid のバッファに保存されるので、
-サーバに値をサブミットするには扱いにくいです。
-SimpleGrids は、この問題で苦しみません。
-あなたが単に標準的な &lt;form&gt;&lt;/form&gt; タグでグリッド全体を囲めば、
-グリッド中のどんな入力要素でもサーバーへサブミットされます。
-</ol>
-
-<p>SimpleGrid の最も洗練された例は、ディストリビューションに含まれているスプレッドシートです。
-式を入力する事ができ、入力値を変更すると、それは再計算されるでしょう - 
-まさしく商業スプレッドシートのように。
-実例のメニューの "HTML Examples" のセクションでスプレッドシートへのリンクを見つけることができます。
-スプレッドシートで、 <img alt="help" src="images/sheet/help.gif"> ボタンをクリックして、それができるすべてを見て下さい。
-
-<p>SimpleGrids は、次の 2 つの方法で作成する事が出来ます。
-<ul>
-<li>SimpleGrid プラグインの中の 1 つを用いて。PHP、ASP と .net のためのプラグインが存在します。
-<li>XSLTを用いて。Rico は、標準的なHTMLテーブルを SimpleGrid に変換する XSL ファイルを持っています。
-</ul>
-
-<h3>プラグインを利用しての SimpleGrid の作成</h3>
-
-<p>各プラグインは SimpleGrid のクラスを定義します。
-クラスの中に、ヘッダ行とデータ行を始めるメソッドがあります。 - 
-HTML テーブル内のどこかに &lt;tr&gt; タブを置いて、それらのメソッドの内の一つを呼ぶだけです。
-また、セルを作成するメソッドもあります。 - 
-HTML テーブル内のどこかに &lt;th&gt; タブか &lt;td&gt; タブを置いて、それを呼ぶだけです。
-テーブルの内容を定義し終わったら、描画メソッドを呼ぶだけです。
-(.net プラグイン以外では描画は自動的に行われます)
-それは、とても簡単です!
-
-<h3>XSLT を利用しての SimpleGrid の作成</h3>
-
-<p>ウェブページが XHTML 対応であるならば、SimpleGrid を生成するもう一つの方法があります。
-ページ上のテーブルを SimpleGrids に変換するために、XSL スタイルシートである "ricoSimpleGrid.xsl" を使うだけです。
-スタイルシートは "ricoSimpleGrid" のクラス名でテーブルを探して、それから変換を行います。
-一時は、Rico はクライアント上でこの変換をサポートしていました。
-しかしながら、Prototype ライブラリの変更のために、すでに出来なくなりました。
-したがって、このアプローチで行う方を選ぶならば、 XSLT 変換はサーバーで実行されなければなりません。
-
-</body>
-</html>
index 238fec0..195b567 100644 (file)
@@ -41,8 +41,8 @@ ul li {
 <ul>\r
 <li><a href="welcome.html">Welcome to Rico!</a>\r
 <li><a href="InstallNotes.html">Installing the examples</a>\r
+<li><a href="browsers.html">Browser compatibility</a>\r
 <li><a href="grids.html">Grid overview</a>\r
-<li><a href="browsers.html">LiveGrid browser compatibility</a>\r
 <li><a href="LiveGrid.html">Creating a LiveGrid</a>\r
 <li><a href="SimpleGrid.html">Creating a SimpleGrid</a>\r
 <li><a href="GridStyles.html">Grid Styles</a>\r
index 3198d99..2471e10 100644 (file)
@@ -9,9 +9,6 @@
 <body>
 <h1>Rico Translation</h1>
 
-<p><a href='translations_ja.html'><img src='images/japanese.gif' alt='View this page in Japanese'></a>
-<a href='translations_ja.html'>View this page in Japanese</a></p>
-
 <p>The Rico library contains a translation object (RicoTranslate) so that
 applications can be written using Rico that support multiple languages.
 The translation object also stores the default date and number
diff --git a/documentation/translations_ja.html b/documentation/translations_ja.html
deleted file mode 100644 (file)
index 2cf6ff4..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<title>Rico Translation</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-</head>
-
-<body>
-<h1>Rico の翻訳</h1>
-
-<p>Rico ライブラリは翻訳オブジェクト(RicoTranslate)を含むので、
-複数の言語をサポートするアプリケーションを、 Rico を利用して書く事が出来ます。
-翻訳オブジェクトは、異なるデフォルト値を言語ごとに指定する事が出来、
-デフォルトの日付および数値フォーマットも保持しています。
-Rico ディストリビューションは、デフォルトグリッドメニューと Rico カレンダーを表示するために
-必要なフレーズと共に、翻訳オブジェクトをロードする言語ファイルを含みます。
-
-<h2>翻訳ステータス</h2>
-
-<p>言語ファイルは "src/translations/ricoLocale_xx.js" に保持されており、
-xx は 2 文字の言語コードです。
-現在、Rico は以下の翻訳と共に配布されています。
-
-<table border='1' cellspacing='0' cellpadding='3'>
-<thead>
-<tr><th>言語</th><th>コード</th><th>ステータス</th></tr>
-</thead>
-<tbody>
-
-<tr>
-<td>英語</td>
-<td>en</td>
-<td>ベースライン</td>
-</tr>
-
-<tr>
-<td>フランス語</td>
-<td>fr</td>
-<td>完了して検査された</td>
-</tr>
-
-<tr>
-<td>スペイン語</td>
-<td>es</td>
-<td>完了して検査された</td>
-</tr>
-
-<tr>
-<td>日本語</td>
-<td>ja</td>
-<td>完了して検査された</td>
-</tr>
-
-<tr>
-<td>中国語(単純化された)</td>
-<td>zh</td>
-<td>完了して検査された</td>
-</tr>
-
-<tr>
-<td>韓国語</td>
-<td>ko</td>
-<td>完了して検査された</td>
-</tr>
-
-<tr>
-<td>ドイツ語</td>
-<td>de</td>
-<td>完了して検査を必要としている</td>
-</tr>
-
-<tr>
-<td>ポルトガル語</td>
-<td>pt</td>
-<td>完了して検査を必要としている</td>
-</tr>
-
-<tr>
-<td>イタリア語</td>
-<td>it</td>
-<td>完了して検査を必要としている</td>
-</tr>
-
-<tr>
-<td>ロシア語</td>
-<td>ru</td>
-<td>新しい ricoLocale フォーマットへの更新を必要としている</td>
-</tr>
-
-<tr>
-<td>ウクライナ語</td>
-<td>ua</td>
-<td>新しい ricoLocale フォーマットへの更新を必要としている</td>
-</tr>
-
-</tbody>
-</table>
-
-<h2>複数言語のサポート</h2>
-
-<p>Rico が進化するにつれ、翻訳ファイルに追加のフレーズが必要とされます。
-英語のフレーズが最初に追加され、そして Rico コミュニティのメンバーが
-新しいフレーズを他の翻訳ファイルに加えます。
-私達は全ての翻訳を同期し続けようとしますが、
-これは必ずしも可能ではありません。
-そのため、rico.js がロードされる時、
-最初に英語の言語ファイルをロードします。
-それから、それはユーザの OS またはブラウザの言語に一致する Rico 翻訳を探します。
-見つかったなら、それは次にロードされます。
-これは、フレーズが翻訳ファイルやそれらの言語用の翻訳が利用出来ない場合に、
-(空白メッセージの代わりに)少なくとも英語でのフレーズを見る事を確実にします。
-
-<p>追加のコーディング無しで、Rico は多くの場合、
-ユーザにふさわしいローカライズされたメニューやカレンダーを表示するはずです。
-しかし、全ての最新のブラウザは、ユーザに OS の言語をオーバライドする方法を与えます。
-例えば、Firefox では ツールメニュー > オプション > 詳細 > 一般タブ > 言語設定ボタン へ進みます。
-Internet Explorer では ツールメニュー > インターネットオプション > 全般タブ > 言語ボタン へ進みます
-この設定は 
-<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4">accept language</a> 
-から呼ばれ、javascript を通して直接アクセスする事は出来ません。
-しかし、Rico は適切な言語に基づく翻訳ファイルをロードする方法を提供します。
-この設定を構成したユーザーにとって、このアプローチを利用して解析される言語は、
-彼らの本当の選択により近いかもしれません。
-その適切な言語は "Rico.acceptLanguage()" javascript メソッドに、
-適切な言語のヘッダを返すサーバサイドスクリプトを持つ事により Rico で解析されます。
-これは、ASP と PHP のための LiveGrid フォームプラグインと、
-.net のための LiveGrid プラグインを利用する時に、自動的に行われます。
-他の状況では、サーバサイドインクルードファイルは Rico ディストリビューションで提供されます。
-
-<p>PHP では。
-<pre>
-&lt;? 
-// ricoLiveGridForms.php を利用する時は必要ありません
-// rico.js をインクルードする行の後に置かれなければなりません
-
-require "chklang2.php";
-?&gt;
-</pre>
-
-<p>ASP では。
-<pre>
-' ricoLiveGridForms.asp を利用する時は必要ありません
-' rico.js をインクルードする行の後に置かれなければなりません
-
-&lt;!-- #INCLUDE FILE = "chklang2.vbs" --&gt;
-</pre>
-
-<p>.net では。
-<pre>
-' ricoLiveGridForms.ascx を利用する時は必要ありません
-' rico.js をインクルードする行の後に置かれなければなりません
-
-&lt;%@ Register TagPrefix="Rico" TagName="ChkLang" Src="chklang.ascx" %&gt;
-&lt;Rico:ChkLang runat='server' id='translation' /&gt;
-</pre>
-
-<h2>RicoTranslate オブジェクトリファレンス</h2>
-
-<p>RicoTranslate オブジェクトは以下のプロパティとメソッドを含みます。
-<dl>
-<dt>monthNames[]
-<dd>それぞれの月の翻訳された名前を含む 12 アイテムの配列(1 月はアイテム 0)
-<dt>dayNames[]
-<dd>それぞれの曜日の翻訳された名前を含む 7 アイテムの配列(日曜はアイテム 0)
-<dt>monthAbbr()
-<dd>月の数字(0-11)を受け取り、月の省略名を返す関数(デフォルトは monthNames[] の始めの 3 文字ですが、翻訳によってオーバーライドされます)
-<dt>dayAbbr()
-<dd>曜日の数字(0-6)を受け取り、曜日の省略名を返す関数(デフォルトは dayNames[] の始めの 3 文字ですが、翻訳によってオーバーライドされます)
-<dt>langCode
-<dd>現在ロードされた 2 文字の言語コードを含みます(デフォルトは "en")
-<dt>thouSep
-<dd>数値をフォーマットする時に千桁区切りのセパレータとして利用する文字を含みます(デフォルトは ",")
-<dt>decPoint
-<dd>数値をフォーマットする時に小数点として利用する文字を含みます(デフォルトは ".")
-<dt>dateFmt
-<dd>デフォルトの日付フォーマットを含みます(デフォルトは "mm/dd/yyyy")
-<dt>timeFmt
-<dd>デフォルトの時間フォーマットを含みます(デフォルトは "hh:nn:ss a/pm")
-<dt>addPhraseId (phraseId, phrase)
-<dd>指定されたフレーズを加えて、それを phraseId に割り当てます。フレーズの文字列は、任意の置き換えパラメータの参照を含むかもしれず、$1、$2、等を利用して指定されます。
-<dt>getPhraseById (phraseId)
-<dd>phraseId によって指定されたフレーズを返します。任意の置き換えパラメータは phraseId に続くかもしれません。
-</dl>
-
-<h2>最新情報の提出</h2>
-
-<p>質問と訂正は <a href='http://sourceforge.net/forum/forum.php?forum_id=470997'>SourceForge の Open Discussion フォーラム</a> にポストされるかもしれません。
-あるいは、 dowdybrown at yahoo dot com に直接送信する事も出来ます。
-
-</body>
-</html>
index 44bee13..824da41 100644 (file)
@@ -36,6 +36,7 @@ used to create rich, highly interactive web applications.
 Rico is released under the Apache Licence, Version 2.0.
 This allows you to use Rico in nearly all circumstances, commercial and non-commercial, and to modify it as you see fit.
 Read the full license description at <a href="http://www.apache.org/licenses/LICENSE-2.0">the Apache web site</a>. 
+</p>
 
 <p>Previous versions of Rico have relied on the excellent 
 <a href="http://www.prototypejs.org" target="_top">Prototype</a>
@@ -48,8 +49,14 @@ Of course you can if you choose to, but you can also run it with
 <a href="http://jquery.com" target="_top">jQuery</a> instead,
 or <a href="http://mootools.net" target="_top">MooTools</a>, 
 or <a href="http://www.dojotoolkit.org/" target="_top">dojo</a>, 
-or <a href="http://extjs.com/products/extcore/" target="_top">ext</a>, 
+or <a href="http://www.sencha.com/products/core/" target="_top">ext</a>, 
 or <a href="http://www.bbc.co.uk/glow/" target="_top">BBC Glow</a>.
+
+<p>Please note that a copy of each of these libraries is included in the Rico distribution
+for the purpose of demonstrating the examples. However, each of these libraries has
+licensing terms that are different from Rico itself. You can read the terms at
+each library's respective web site using the links above. Make sure you
+understand the terms before deploying any library into a production environment.
 </p>
 
 
diff --git a/documentation/welcome_ja.html b/documentation/welcome_ja.html
deleted file mode 100644 (file)
index fcab8c0..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<title>Rico 2.0</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-<style type="text/css">\r
-#translations { clear:both; }\r
-#translations td { font-size:smaller; }\r
-#welcome img {\r
-  vertical-align: middle; \r
-  float: left; \r
-  margin: 0px 8px 8px 0px;\r
-}\r
-#welcome span {\r
-  font-family: Trebuchet MS, Arial, Tahoma, Verdana, Helvetica, sans-serif; \r
-  font-size: 60px;\r
-  font-weight: bold;\r
-  margin: 0px; \r
-  padding-top: 5px;\r
-}\r
-</style>
-</head>
-
-<body>
-
-<div id='welcome'><img alt="Rico Logo" src="images/ricologo.gif"><span>Rico へようこそ!</span></div>\r
-
-<p style="clear:both;">Rico は、多機能で対話的なウェブアプリケーションを作成するために利用される、
-オープンソース JavaScript フレームワークです。
-Rico は、<a href="http://www.prototypejs.org/">Prototype Javascript フレームワーク</a>に基づき、
-<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache ライセンス</a>の下で公開されます。
-
-<p>それは、次の機能をサポートします
-<ul>
-<li>ドラッグアンドドロップ
-<li>丸みのある HTML 要素
-<li>アニメーション効果
-<li>アコーディオンとタブパネル
-<li>カレンダー、カラーピッカー、そしてツリーコントロール
-<li>数値と日付のフォーマッティング
-<li>ポップアップ "ウィンドウ"(div's)と影付きのメニュー
-<li>内容の編集が可能なサポートを加えた、
-静的な内容や AJAX を通して動的にロードされた内容を保持し、
-固定された列や見出しを持ちスクロール出来るグリッド
-<li>グリッドメニューとカレンダーのための複数の言語 - 
-フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語、日本語、中国語、韓国語、ロシア語とウクライナ語への翻訳が含まれます
-</ul>
-
-<p>Rico ディストリビューションは、次の3つのサブディレクトリに分割されます
-<ul>
-<li><strong>src</strong> - javascript、cssと画像ファイルを含む、 Rico の中心部を含みます。
-<li><strong>plugins</strong> - LiveGridsとSimpleGridsをサポートするためにサーバで動くコードを含んでいます。
-現在のところ、プラグインを ASP (PHP) と .net に提供します。限られた機能を持つ Perl プラグインも含まれています。
-<li><strong>examples</strong> - ASP、PHP、.net、Perl、およびHTMLのためのサンプルコードを含んでいます。
-examples/data ディレクトリは LiveGrid に関係する実例のためのサンプルデータベースを含んでいます。
-データベースは MS Access、Oracle、および MySQL のために提供されます。また、データを SQL Server にインストールするための指示も含まれています。
-</ul>
-
-</body>
-</html>
diff --git a/documentation/welcome_zh.html b/documentation/welcome_zh.html
deleted file mode 100644 (file)
index e5ca665..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
-<title>Rico 2.0</title>
-<link href="ricoDocs.css" rel="Stylesheet" type="text/css">
-<style type="text/css">\r
-#translations { clear:both; }\r
-#translations td { font-size:smaller; }\r
-#welcome img {\r
-  vertical-align: middle; \r
-  float: left; \r
-  margin: 0px 8px 8px 0px;\r
-}\r
-#welcome span {\r
-  font-family: Trebuchet MS, Arial, Tahoma, Verdana, Helvetica, sans-serif; \r
-  font-size: 60px;\r
-  font-weight: bold;\r
-  margin: 0px; \r
-  padding-top: 5px;\r
-}\r
-</style>
-</head>
-
-<body>
-
-<div id='welcome'><img alt="Rico Logo" src="images/ricologo.gif"><span>Rico 欢迎你!</span></div>\r
-
-<p style="clear:both;">\r
-Rico是开源的JavaScript类库, 用来创建丰富的, 高度交互性的internet应用. \r
-\r
-Rico是基于 <a href="http://www.prototypejs.org/">Prototype Javascript 类库</a> 之上的,
-\r
- 它的发行是根据<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License</a>\r
-
-
-<p>Rico 支持以下功能:
-<ul>
-<li>拖放操作
-<li>圆角的HTML元素
-<li>动画效果
-<li>可折叠的TAB面板
-<li>日历, 色彩选择, 和树的控件
-<li>数据和日期的格式化
-<li>带有阴影的弹出式”windows”(div’s)和菜单
-<li>静态或动态内容可由AJAX殖入有固定的列和标题的滚动数据网格, 并支持网格内容编辑
-<li>具有多种语言的网格菜单和日历 – 包括法语, 德语, 意大利语, 葡萄牙语, 西班牙语, 中文, 日文, 朝鲜文, 俄文和乌克兰文的翻译
-</ul>
-
-<p>Rico的发布版本分为3个部分:
-<ul>
-<li><strong>src</strong> - 含有Rico核心, 包括javascript, css和图像文件.
-<li><strong>plugins</strong> - 含有在服务器上运行的, 支持LiveGrids和SimpleGrids的程序. Plug-ins 可供ASP, PHP, .net使用. 还包括Perl plug-in有限的功能.
-<li><strong>examples</strong> - 含有ASP, PHP, .net, Perl 和HTML的样本程序. examples 和data目录中含有与LiveGrid有关的例子的样本数据库. 数据库可供MS Access, Oracle 和MySQL使用. 还包括安装数据到SQL Server上的说明.
-</ul>
-
-</body>
-</html>
index 21a9dd9..8e405f5 100644 (file)
@@ -9,7 +9,7 @@ Dim ricoLib,ricoTheme,ricoLogging
 const grid_striping = true     ' apply row striping to LiveGrids?\r
 const checkQueryString = true  ' load settings from QueryString? true for demo, false for production\r
 const LoadBaseLib = true       ' load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
-const jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/"\r
+const jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/"\r
 \r
 \r
 jsDir="../../ricoClient/js/"       ' directory containing Rico's javascript files\r
@@ -25,7 +25,7 @@ if checkQueryString then
   ricoLogging=CBool(trim(Request.QueryString("log")) <> "")\r
 else\r
   ' set your production values here\r
-  ricoLib="proto"    ' base library (proto, jquery, moo, dojo, ext, or glow)\r
+  ricoLib="prototype-1.6"     ' base library\r
   ricoTheme="j-ui-lightness"  ' jquery themes start with j-, rico themes start with r-\r
   ricoLogging=false\r
 end if\r
@@ -52,33 +52,15 @@ end sub
 \r
 \r
 sub LoadLib(baseLib, baseLoadFlag)\r
-  dim baseFile,adapter\r
-  select case baseLib\r
-    case "proto":\r
-      baseFile="prototype"\r
-      adapter="2Proto"\r
-    case "jquery":\r
-      baseFile="jquery"\r
-      adapter="2jQuery"\r
-    case "moo":\r
-      baseFile="mootools"\r
-      adapter="2Moo"\r
-    case "dojo":\r
-      baseFile="dojo"\r
-      adapter="2Dojo"\r
-    case "ext":\r
-      baseFile="ext-core"\r
-      adapter="2Ext"\r
-    case "glow":\r
-      baseFile="glow.core"\r
-      adapter="2Glow"\r
-    case else:\r
-      Response.End\r
-  end select\r
-\r
-  if baseLoadFlag then Response.Write vbLf & "<script src='" & baselibsDir & baseFile & ".js' type='text/javascript'></script>"\r
+  if baseLoadFlag then\r
+    if InStr(baseLib,"/") > 0 then\r
+      Response.Write vbLf & "<script src='http://ajax.googleapis.com/ajax/libs/" & baseLib & "' type='text/javascript'></script>"\r
+    else\r
+      Response.Write vbLf & "<script src='" & baselibsDir & baseLib & ".js' type='text/javascript'></script>"\r
+    end if\r
+  end if\r
   requireRicoJS ""\r
-  requireRicoJS adapter\r
+  requireRicoJS "2" & left(baseLib,3)\r
   Response.Write vbLf & "<script src='" & transDir & "ricoLocale_en.js' type='text/javascript'></script>"\r
   requireRicoCSS "rico"\r
   requireRicoJS "UI"\r
@@ -119,7 +101,7 @@ sub LoadTheme(theme)
   select case prefix\r
     case "j":\r
       requireRicoJS "Themeroller"\r
-      Response.Write vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "jquery-base/ui.base.css' />"\r
+      'Response.Write vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "jquery-base/ui.base.css' />"\r
       Response.Write vbLf & "<link type='text/css' rel='Stylesheet' href='" & jQuery_theme_path & themeFile & "/jquery-ui.css' />"\r
     case "r":\r
       requireRicoCSS themeFile\r
index d251a30..5c4eab1 100644 (file)
@@ -44,23 +44,13 @@ CloseApp
 \r
 \r
 sub DisplayTable()\r
-  response.write vbLf & "<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>"\r
+  response.write vbLf & "<div id='explanation'>"\r
   response.write vbLf & "Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>"\r
   response.write vbLf & "<hr>The data on this grid can be edited using pop-up forms. "\r
   response.write vbLf & "Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. "\r
   response.write vbLf & "The Add and Edit forms are automatically generated by LiveGrid. "\r
   response.write vbLf & "Updates are disabled on the database, so you will get an error message if you try to save."\r
-  response.write vbLf & "</td><td>"\r
-  response.write vbLf & "<script type='text/javascript'><!--"\r
-  response.write vbLf & "google_ad_client = 'pub-7218597156507462';"\r
-  response.write vbLf & "/* 125x125, created 5/11/09 */"\r
-  response.write vbLf & "google_ad_slot = '9298106441';"\r
-  response.write vbLf & "google_ad_width = 125;"\r
-  response.write vbLf & "google_ad_height = 125;"\r
-  response.write vbLf & "//-->"\r
-  response.write vbLf & "</script>"\r
-  response.write vbLf & "<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>"\r
-  response.write vbLf & "</td></tr></table>"\r
+  response.write vbLf & "</div>"\r
 \r
   response.write "<p><strong>Shippers Table</strong></p>"
 \r
index 4695e73..e4a96dc 100644 (file)
@@ -30,7 +30,7 @@ Rico.onLoad( function() {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -43,21 +43,7 @@ Click on a cell to see available actions.
 <p style='font-size:smaller;'>Data source: <a href="http://www.un.org/esa/population/unpop.htm">Population Division of the \r
 Department of Economic and Social Affairs of the United Nations Secretariat</a> (2009). \r
 <em>World Population Prospects: The 2008 Revision. Highlights.</em> New York: United Nations.  </p>                            \r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <p class="ricoBookmark"><span id="population_bookmark">&nbsp;</span></p>\r
 <table class="ricoLiveGrid" id="population">\r
index 90a9c51..52bcdbb 100644 (file)
@@ -53,7 +53,7 @@ CloseApp
 \r
 \r
 sub DisplayHeading()\r
-  response.write vbLf & "<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>"\r
+  response.write vbLf & "<div id='explanation'>"\r
   response.write vbLf & "Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>"\r
   response.write vbLf & "<hr>The data on this grid can be edited using pop-up forms. "\r
   response.write vbLf & "Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. "\r
@@ -61,17 +61,7 @@ sub DisplayHeading()
   response.write vbLf & "Notice on the Add form how you use the Rico Tree control to select the customer. "\r
   response.write vbLf & "Notice on the Edit form how the Rico Calendar is used to change dates. "\r
   response.write vbLf & "Updates are disabled on the database, so you will get an error message if you try to save."\r
-  response.write vbLf & "</td><td>"\r
-  response.write vbLf & "<script type='text/javascript'><!--"\r
-  response.write vbLf & "google_ad_client = 'pub-7218597156507462';"\r
-  response.write vbLf & "/* 125x125, created 5/11/09 */"\r
-  response.write vbLf & "google_ad_slot = '9298106441';"\r
-  response.write vbLf & "google_ad_width = 125;"\r
-  response.write vbLf & "google_ad_height = 125;"\r
-  response.write vbLf & "//-->"\r
-  response.write vbLf & "</script>"\r
-  response.write vbLf & "<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>"\r
-  response.write vbLf & "</td></tr></table>"\r
+  response.write vbLf & "</div>"\r
   response.write vbLf & "<p><strong>Orders Table</strong></p>"\r
 end sub\r
 \r
index f63d8cc..3bc2f1c 100644 (file)
@@ -53,7 +53,7 @@ CloseApp
 \r
 \r
 sub DisplayHeading()\r
-  response.write vbLf & "<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>"\r
+  response.write vbLf & "<div id='explanation'>"\r
   response.write vbLf & "Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>"\r
   response.write vbLf & "<hr>The data on this grid can be edited using pop-up forms. "\r
   response.write vbLf & "Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. "\r
@@ -61,17 +61,7 @@ sub DisplayHeading()
   response.write vbLf & "Notice on the Add form how you use the Rico Tree control to select the customer. "\r
   response.write vbLf & "Notice on the Edit form how the Rico Calendar is used to change dates. "\r
   response.write vbLf & "Updates are disabled on the database, so you will get an error message if you try to save."\r
-  response.write vbLf & "</td><td>"\r
-  response.write vbLf & "<script type='text/javascript'><!--"\r
-  response.write vbLf & "google_ad_client = 'pub-7218597156507462';"\r
-  response.write vbLf & "/* 125x125, created 5/11/09 */"\r
-  response.write vbLf & "google_ad_slot = '9298106441';"\r
-  response.write vbLf & "google_ad_width = 125;"\r
-  response.write vbLf & "google_ad_height = 125;"\r
-  response.write vbLf & "//-->"\r
-  response.write vbLf & "</script>"\r
-  response.write vbLf & "<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>"\r
-  response.write vbLf & "</td></tr></table>"\r
+  response.write vbLf & "</div>"\r
   response.write vbLf & "<p><strong>Orders Table</strong></p>"\r
 end sub\r
 \r
index bd8ecd5..ce2f704 100644 (file)
@@ -44,7 +44,7 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -57,21 +57,7 @@ are available.
 Click on a cell to see available actions.\r
 <a href='ricoQuery.asp?id=ex2&offset=0&page_size=10&_fmt=json'>View the AJAX response (JSON)</a>\r
 (requires JSONview or similar extension in FF).\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <p class="ricoBookmark"><span id='ex2_timer' class='ricoSessionTimer'></span><span id="ex2_bookmark">&nbsp;</span></p>\r
 <table id="ex2" class="ricoLiveGrid" cellspacing="0" cellpadding="0">\r
index 7144bd0..975a1d0 100644 (file)
@@ -67,7 +67,7 @@ div.ricoLG_cell {
 <body>\r
 \r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>\r
 <hr>The data on this grid can be edited using pop-up forms. \r
 Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. \r
@@ -75,17 +75,7 @@ The Add and Edit forms are automatically generated by LiveGrid.
 Notice on the Add form how you use the Rico Tree control to select the customer. \r
 Notice on the Edit form how the Rico Calendar is used to change dates. \r
 Updates are disabled on the database, so you will get an error message if you try to save.\r
-</td><td>\r
-<script type='text/javascript'><!--\r
-google_ad_client = 'pub-7218597156507462';\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = '9298106441';\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\r
-</td></tr></table>\r
+</div>\r
 \r
 <p><strong>Orders Table</strong></p>\r
 \r
index ac60039..0c2e198 100644 (file)
@@ -44,7 +44,7 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -56,21 +56,7 @@ on the size of the window. Try the different grid styles that
 are available. \r
 Click on a cell to see available actions.\r
 <a href='ricoQuery.asp?id=ex2&offset=0&page_size=10&get_total=true'>View the AJAX response (XML)</a>.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <p class="ricoBookmark"><span id='ex2_timer' class='ricoSessionTimer'></span><span id="ex2_bookmark">&nbsp;</span></p>\r
 <table id="ex2" class="ricoLiveGrid" cellspacing="0" cellpadding="0">\r
index 912856e..90b3f2f 100644 (file)
@@ -5,9 +5,9 @@
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
 <base target="content">\r
 \r
-<script src="../../ricoClient/js/baselibs/prototype.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/baselibs/prototype-1.6.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/rico.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico2Proto.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/ricoUI.js" type="text/javascript"></script>\r
 <link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet" />\r
 \r
@@ -174,12 +174,18 @@ ul li {
   <div>Choose the Base Library</div>\r
   <div>\r
 <ul>\r
-<li><a id='lib_proto'>Prototype</a>\r
-<li><a id='lib_jquery'>jQuery</a>\r
-<li><a id='lib_moo'>MooTools</a>\r
-<li><a id='lib_dojo'>dojo</a>\r
-<li><a id='lib_ext'>Ext</a>\r
-<li><a id='lib_glow'>Glow</a>\r
+<li><a id='lib_prototype-1.6'>Prototype 1.6</a>\r
+<li><a id='lib_prototype/1.7/prototype.js'>Prototype 1.7</a>\r
+<li><a id='lib_jquery/1.3/jquery.min.js'>jQuery 1.3</a>\r
+<li><a id='lib_jquery/1.4/jquery.min.js'>jQuery 1.4</a>\r
+<li><a id='lib_jquery/1.5/jquery.min.js'>jQuery 1.5</a>\r
+<li><a id='lib_mootools/1.2/mootools-yui-compressed.js'>MooTools 1.2</a>\r
+<li><a id='lib_mootools/1.3/mootools-yui-compressed.js'>MooTools 1.3</a>\r
+<li><a id='lib_dojo/1.4/dojo/dojo.xd.js'>dojo 1.4</a>\r
+<li><a id='lib_dojo/1.5/dojo/dojo.xd.js'>dojo 1.5</a>\r
+<li><a id='lib_ext-core/3.0/ext-core.js'>Ext 3.0</a>\r
+<li><a id='lib_ext-core/3.1/ext-core.js'>Ext 3.1</a>\r
+<li><a id='lib_glow.core-1.7'>Glow 1.7</a>\r
 </ul>\r
   </div>\r
 </div>\r
index cc69d50..0716139 100644 (file)
@@ -62,7 +62,7 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -75,21 +75,7 @@ SimpleGrids have resizable columns, frozen columns on the left, and can use the
 same CSS styling as LiveGrids. Sorting and filtering can also be enabled\r
 at the developer's discretion. Unlike LiveGrids, each cell in a SimpleGrid\r
 can be formatted individually.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <div>\r
index 5d0bd1c..ba3d6dd 100644 (file)
@@ -35,7 +35,7 @@ function TreeClick1(e) {
 \r
 <body>
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -44,21 +44,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <p>This example demonstrates a basic, pop-up tree control where the tree nodes are loaded via AJAX.\r
 Only one item is selected from the tree at a time.\r
 Data is from the Northwind customer table.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <p><button id='TreeButton1'>Show Tree</button>\r
index 0574830..b9de437 100644 (file)
@@ -60,7 +60,7 @@ div.ricoLG_cell {
 \r
 <body style="font-size:80%;">\r
   \r
-<table id='explanation' border='0' cellpadding='5' cellspacing='0' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -68,21 +68,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <hr>\r
 This example displays some of the widgets that come with Rico. \r
 The widgets are compatible with all base libraries and themes.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <p>&nbsp;</p>\r
index 6ccf9dc..22f32bf 100644 (file)
@@ -9,11 +9,19 @@ h1 {
        font-size: 16pt;\r
 }\r
 \r
+table#explanation {\r
+  width: 100%;\r
+}\r
+\r
+div#explanation {\r
+  padding: 4px;\r
+}\r
+\r
 #explanation {\r
   background-color:#EEEEFF;\r
   font-size:small;\r
   margin-bottom:0.5em;\r
-  padding: 2px;\r
+  border: 1px solid #CFCFFF;\r
 }\r
 \r
 #libinfo {\r
index 73221f4..f3bb9fd 100644 (file)
@@ -8,14 +8,14 @@ Public imgDir as String ="../../ricoClient/images/"  ' directory containing Rico
 Public transDir as String =jsDir & "translations/"\r
 Public baselibsDir as String =jsDir & "baselibs/"\r
 \r
-Public jslib as String = "proto"           ' base library (proto, jquery, moo, dojo, ext, or glow)\r
+Public jslib as String = "prototype-1.6"   ' base library\r
 Public modules as String                   ' comma separated list of Rico modules to load\r
 Public ricoLogging as Boolean = false      ' enable javascript console logging?\r
 Public language as String                  ' if left unset, language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE\r
 Public checkQueryString as Boolean = true  ' load settings from QueryString?  true for demo, false for production\r
 Public LoadBaseLib as Boolean = true       ' load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
 Public grid_striping as Boolean = true     ' apply row striping to LiveGrids?\r
-Public jQuery_theme_path as String = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/"\r
+Public jQuery_theme_path as String = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/"\r
 \r
 Protected theme as String = "j-ui-lightness"  ' jquery themes start with j-, rico themes start with r-\r
 \r
@@ -87,6 +87,16 @@ End Property
 \r
 \r
 ' -------------------------------------------------------------\r
+' disable themes\r
+' -------------------------------------------------------------\r
+Public WriteOnly Property noTheme() As String\r
+  Set(ByVal ThemeName As String)\r
+    theme=""\r
+  End Set\r
+End Property\r
+\r
+\r
+' -------------------------------------------------------------\r
 ' Check specifed languages and see if there is a ricoLocale file to match\r
 ' -------------------------------------------------------------\r
 Protected sub setLang(writer as HTMLTextWriter, lang as String)\r
@@ -106,33 +116,15 @@ end sub
 \r
 \r
 Protected sub LoadLib(writer as HTMLTextWriter, baseLib as String)\r
-  dim baseFile,adapter\r
-  select case baseLib\r
-    case "proto":\r
-      baseFile="prototype"\r
-      adapter="2Proto"\r
-    case "jquery":\r
-      baseFile="jquery"\r
-      adapter="2jQuery"\r
-    case "moo":\r
-      baseFile="mootools"\r
-      adapter="2Moo"\r
-    case "dojo":\r
-      baseFile="dojo"\r
-      adapter="2Dojo"\r
-    case "ext":\r
-      baseFile="ext-core"\r
-      adapter="2Ext"\r
-    case "glow":\r
-      baseFile="glow.core"\r
-      adapter="2Glow"\r
-    case else:\r
-      Response.End\r
-  end select\r
-\r
-  if LoadBaseLib then writer.Write(vbLf & "<script src='" & baselibsDir & baseFile & ".js' type='text/javascript'></" & "script>")\r
+  if LoadBaseLib then\r
+    if InStr(baseLib,"/") > 0 then\r
+      writer.Write(vbLf & "<script src='http://ajax.googleapis.com/ajax/libs/" & baseLib & "' type='text/javascript'></" & "script>")\r
+    else\r
+      writer.Write(vbLf & "<script src='" & baselibsDir & baseLib & ".js' type='text/javascript'></" & "script>")\r
+    end if\r
+  end if\r
   requireRicoJS(writer, "")\r
-  requireRicoJS(writer, adapter)\r
+  requireRicoJS(writer, "2" & left(baseLib,3))\r
   writer.Write(vbLf & "<script src='" & transDir & "ricoLocale_en.js' type='text/javascript'></" & "script>")\r
   requireRicoCSS(writer, "rico")\r
   requireRicoJS(writer, "UI")\r
@@ -152,7 +144,7 @@ Protected sub LoadTheme(writer as HTMLTextWriter, theme as String)
   select case prefix\r
     case "j":\r
       requireRicoJS(writer, "Themeroller")\r
-      writer.Write(vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "jquery-base/ui.base.css' />")\r
+      'writer.Write(vbLf & "<link type='text/css' rel='stylesheet' href='" & cssDir & "jquery-base/ui.base.css' />")\r
       writer.Write(vbLf & "<link type='text/css' rel='Stylesheet' href='" & jQuery_theme_path & themeFile & "/jquery-ui.css' />")\r
     case "r":\r
       requireRicoCSS(writer, themeFile)\r
index 131b92a..2031182 100644 (file)
@@ -43,24 +43,14 @@ div.ricoLG_cell {
 \r
 \r
 <body>\r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>\r
 <hr>\r
 The data on this grid can be edited using pop-up forms. \r
 Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. \r
 The Add and Edit forms are automatically generated by LiveGrid. \r
 Updates are disabled on the database, so you will get an error message if you try to save.\r
-</td><td>\r
-<script type='text/javascript'><!--\r
-google_ad_client = 'pub-7218597156507462';\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = '9298106441';\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\r
-</td></tr></table>\r
+</div>\r
 \r
 <p><strong>Shippers Table</strong></p>
 \r
index e3f0fa4..a495930 100644 (file)
@@ -9,7 +9,7 @@
 Public dbConnection as object, accessRights as string\r
 Public LastErrorMsg as String\r
 Public defaultDB as String = "Northwind"\r
-Public const dbDialect     = "TSQL"   ' What kind of database are we connecting to?\r
+Public const dbDialect     = "Access"   ' What kind of database are we connecting to?\r
 \r
 \r
 Public Function OpenDB()\r
index 2c19734..094f609 100644 (file)
@@ -54,7 +54,7 @@ div.ricoLG_cell {
 </head>\r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -65,21 +65,7 @@ The Add and Edit forms are automatically generated by LiveGrid.
 Notice on the Edit form how the Rico Calendar is used to change dates. \r
 Updates are disabled on the database, so you will get an error message if you try to save.\r
 <a href='ricoQuery.aspx?id=ex2x&offset=0&page_size=10&get_total=true'>View the AJAX response (XML)</a>.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 <p><strong>Employees Table</strong></p>\r
 \r
 <Rico:LiveGrid runat='server' id='emp' TableName='employees' formView='true' DefaultSort='t.LastName,t.FirstName' menuEvent='click' frozenColumns='2' highlightElem='cursorRow'>\r
index 375a377..ec90684 100644 (file)
@@ -29,7 +29,7 @@ Rico.onLoad( function() {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -42,21 +42,7 @@ Click on a cell to see available actions.
 <p style='font-size:smaller;'>Data source: <a href="http://www.un.org/esa/population/unpop.htm">Population Division of the \r
 Department of Economic and Social Affairs of the United Nations Secretariat</a> (2009). \r
 <em>World Population Prospects: The 2008 Revision. Highlights.</em> New York: United Nations.  </p>                            \r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <p class="ricoBookmark"><span id="population_bookmark">&nbsp;</span></p>\r
 <table class="ricoLiveGrid" id="population">\r
index 855b10f..137777a 100644 (file)
@@ -63,7 +63,7 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>\r
 <hr>The data on this grid can be edited using pop-up forms. \r
 Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. \r
@@ -71,17 +71,7 @@ The Add and Edit forms are automatically generated by LiveGrid.
 Notice on the Add form how you use the Rico Tree control to select the customer. \r
 Notice on the Edit form how the Rico Calendar is used to change dates. \r
 Updates are disabled on the database, so you will get an error message if you try to save.\r
-</td><td>\r
-<script type='text/javascript'><!--\r
-google_ad_client = 'pub-7218597156507462';\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = '9298106441';\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\r
-</td></tr></table>\r
+</div>\r
 <p><strong>Orders Table</strong></p>\r
 \r
 \r
index 9bd4f83..9e16648 100644 (file)
@@ -22,7 +22,7 @@ div.ricoLG_cell {
 </head>\r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -34,22 +34,8 @@ on the size of the window. Try the different grid styles that
 are available. \r
 Click on a cell to see available actions.\r
 <a href='ricoQuery.aspx?id=ex2j&offset=0&page_size=10&_fmt=json'>View the AJAX response (JSON)</a>\r
-(requires JSONview or similar extension in FF).\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+(displays directly in Chrome and Safari, requires JSONview or similar extension in Firefox).\r
+</div>\r
 \r
 <Rico:LiveGrid runat='server' id='ex2j' fmt="json" TableName='orders' DefaultSort='OrderID' menuEvent='click' frozenColumns='1' highlightElem='cursorRow'>\r
 <GridColumns>\r
index 1a3ae1f..f0ad536 100644 (file)
@@ -74,24 +74,14 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: <script type='text/javascript'>document.write(Rico.Lib+' '+Rico.LibVersion);</script>\r
 <hr>The data on this grid can be edited using pop-up forms. \r
 Just click on a grid cell and then select Edit, Delete, or Add from the pop-up menu. \r
 Updates are disabled on the database, so you will get an error message if you try to save.\r
 <p>Rather than requesting data from RicoQuery, this page is able to process the AJAX\r
 data requests itself. No session variables are used.\r
-</td><td>\r
-<script type='text/javascript'><!--\r
-google_ad_client = 'pub-7218597156507462';\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = '9298106441';\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\r
-</td></tr></table>\r
+</div>\r
 <p><strong>Orders Table (without sessions)</strong></p>\r
 \r
 \r
index 645abdf..93b9f07 100644 (file)
@@ -21,7 +21,7 @@ div.ricoLG_cell {
 </head>\r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -33,21 +33,7 @@ on the size of the window. Try the different grid styles that
 are available. \r
 Click on a cell to see available actions.\r
 <a href='ricoQuery.aspx?id=ex2x&offset=0&page_size=10&get_total=true'>View the AJAX response (XML)</a>.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <Rico:LiveGrid runat='server' id='ex2x' TableName='orders' DefaultSort='OrderID' menuEvent='click' frozenColumns='1' highlightElem='cursorRow'>\r
 <GridColumns>\r
index f242df4..dc3ca1b 100644 (file)
@@ -5,9 +5,9 @@
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
 <base target="content">\r
 \r
-<script src="../../ricoClient/js/baselibs/prototype.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/baselibs/prototype-1.6.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/rico.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico2Proto.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/ricoUI.js" type="text/javascript"></script>\r
 <link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet">\r
 \r
@@ -172,12 +172,18 @@ ul li {
   <div>Choose the Base Library</div>\r
   <div>\r
 <ul>\r
-<li><a id='lib_proto'>Prototype</a>\r
-<li><a id='lib_jquery'>jQuery</a>\r
-<li><a id='lib_moo'>MooTools</a>\r
-<li><a id='lib_dojo'>dojo</a>\r
-<li><a id='lib_ext'>Ext</a>\r
-<li><a id='lib_glow'>Glow</a>\r
+<li><a id='lib_prototype-1.6'>Prototype 1.6</a>\r
+<li><a id='lib_prototype/1.7/prototype.js'>Prototype 1.7</a>\r
+<li><a id='lib_jquery/1.3/jquery.min.js'>jQuery 1.3</a>\r
+<li><a id='lib_jquery/1.4/jquery.min.js'>jQuery 1.4</a>\r
+<li><a id='lib_jquery/1.5/jquery.min.js'>jQuery 1.5</a>\r
+<li><a id='lib_mootools/1.2/mootools-yui-compressed.js'>MooTools 1.2</a>\r
+<li><a id='lib_mootools/1.3/mootools-yui-compressed.js'>MooTools 1.3</a>\r
+<li><a id='lib_dojo/1.4/dojo/dojo.xd.js'>dojo 1.4</a>\r
+<li><a id='lib_dojo/1.5/dojo/dojo.xd.js'>dojo 1.5</a>\r
+<li><a id='lib_ext-core/3.0/ext-core.js'>Ext 3.0</a>\r
+<li><a id='lib_ext-core/3.1/ext-core.js'>Ext 3.1</a>\r
+<li><a id='lib_glow.core-1.7'>Glow 1.7</a>\r
 </ul>\r
   </div>\r
 </div>\r
index afd1156..427002a 100644 (file)
@@ -146,7 +146,7 @@ div.ricoLG_cell {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -159,21 +159,7 @@ SimpleGrids have resizable columns, frozen columns on the left, and can use the
 same CSS styling as LiveGrids. Sorting and filtering can also be enabled\r
 at the developer's discretion. Unlike LiveGrids, each cell in a SimpleGrid\r
 can be formatted individually.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <div>\r
index d415982..d1f405f 100644 (file)
@@ -35,7 +35,7 @@ function TreeClick1(e) {
 \r
 <body>
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -44,21 +44,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <p>This example demonstrates a basic, pop-up tree control where the tree nodes are loaded via AJAX.\r
 Only one item is selected from the tree at a time.\r
 Data is from the Northwind customer table.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <p><button id='TreeButton1'>Show Tree</button>\r
index a82f1e9..6b0542b 100644 (file)
@@ -61,7 +61,7 @@ div.ricoLG_cell {
 \r
 <body style="font-size:80%;">\r
   \r
-<table id='explanation' border='0' cellpadding='5' cellspacing='0' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -69,21 +69,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <hr>\r
 This example displays some of the widgets that come with Rico. \r
 The widgets are compatible with all base libraries and themes.\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <p>&nbsp;</p>\r
index b1f5ab4..c2d0306 100644 (file)
@@ -4,8 +4,8 @@ Rico_CONFIG = {
   imgDir: "../../ricoClient/images/",  // directory containing Rico's image files\r
   enableLogging: false,    // enable console logging\r
   grid_striping: true,     // apply row striping to LiveGrids?\r
-  LoadBaseLib: true,       // load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
-  jQuery_theme_path: "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/",\r
+  LoadBaseLib: true,       // load base Javascript library (prototype, jQuery, etc)?\r
+  jQuery_theme_path: "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/",\r
 \r
   initialize: function(checkQueryString) {\r
     this.transDir=this.jsDir+"translations/";\r
@@ -19,13 +19,13 @@ Rico_CONFIG = {
         aParm=aSearch[i].split(/=/);\r
         switch (aParm[0]) {\r
           case 'theme': theme=aParm[1]; break;\r
-          case 'lib':   lib=aParm[1]; break;\r
+          case 'lib':   lib=unescape(aParm[1]); break;\r
           case 'log':   this.enableLogging=true; break;\r
         }\r
       }\r
     } else {\r
       // set your production values here\r
-      lib="proto";    // base library (proto, jquery, moo, dojo, ext, or glow)\r
+      lib="prototype-1.6";    // base library\r
       theme="j-ui-lightness";  // jquery themes start with j-, rico themes start with r-\r
     }\r
     if (lib) this.LoadLib(lib);\r
@@ -33,39 +33,17 @@ Rico_CONFIG = {
   },\r
 \r
   LoadLib: function(baseLib) {\r
-    var baseFile,adapter;\r
-    switch (baseLib) {\r
-      case "proto":\r
-        baseFile="prototype"\r
-        adapter="2Proto"\r
-        break;\r
-      case "jquery":\r
-        baseFile="jquery"\r
-        adapter="2jQuery"\r
-        break;\r
-      case "moo":\r
-        baseFile="mootools"\r
-        adapter="2Moo"\r
-        break;\r
-      case "dojo":\r
-        baseFile="dojo"\r
-        adapter="2Dojo"\r
-        break;\r
-      case "ext":\r
-        baseFile="ext-core"\r
-        adapter="2Ext"\r
-        break;\r
-      case "glow":\r
-        baseFile="glow.core"\r
-        adapter="2Glow"\r
-        break;\r
-      default:\r
-        return;\r
+    if (this.LoadBaseLib) {\r
+      if (baseLib.indexOf('/') > -1) {\r
+        // load from googleapis\r
+        document.write("<script src='http://ajax.googleapis.com/ajax/libs/"+baseLib+"' type='text/javascript'></script>");\r
+      } else {\r
+        // load from Rico baselibs dir\r
+        document.write("<script src='"+this.baselibsDir+baseLib+".js' type='text/javascript'></script>");\r
+      }\r
     }\r
-    //alert(baseFile+' '+adapter);\r
-    if (this.LoadBaseLib) document.write("<script src='"+this.baselibsDir+baseFile+".js' type='text/javascript'></script>");\r
     this.requireRicoJS("");\r
-    this.requireRicoJS(adapter);\r
+    this.requireRicoJS("2" + baseLib.substr(0,3));\r
     document.write("<script src='"+this.transDir+"ricoLocale_en.js' type='text/javascript'></script>");\r
     this.requireRicoCSS("rico");\r
     this.requireRicoJS("UI");\r
@@ -80,7 +58,6 @@ Rico_CONFIG = {
     switch (prefix) {\r
       case 'j':\r
         this.requireRicoJS("Themeroller");\r
-        document.write("<link type='text/css' rel='stylesheet' href='"+this.cssDir+"jquery-base/ui.base.css'>");\r
         document.write("<link type='text/css' rel='Stylesheet' href='"+this.jQuery_theme_path+theme+"/jquery-ui.css'>");\r
         break;\r
       case 'r':\r
index b342f72..e6386d2 100644 (file)
@@ -103,28 +103,14 @@ function StartFadeIn() {
 
 <body>
 
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>
+<div id='explanation'>
 Base Library: 
 <script type='text/javascript'>
 document.write(Rico.Lib+' '+Rico.LibVersion);
 </script>
 <hr><p>This example demonstrates Rico's 
 ability to animate elements.
-</td>
-<td>
-<script type="text/javascript"><!--
-google_ad_client = "pub-7218597156507462";
-/* 125x125, created 5/11/09 */
-google_ad_slot = "9298106441";
-google_ad_width = 125;
-google_ad_height = 125;
-//-->
-</script>
-<script type="text/javascript"
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-</script>
-</td>
-</tr></table>
+</div>
 
 
 <div id='animContainer'>
index 22677f8..3797d6d 100644 (file)
@@ -28,7 +28,7 @@
 
 <body>
 
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>
+<div id='explanation'>
 Base Library: 
 <script type='text/javascript'>
 document.write(Rico.Lib+' '+Rico.LibVersion);
@@ -36,21 +36,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <hr>
 <h1>Rico: Classes and Dimensions</h1>
 <p>This example adds and removes classes from the test element.
-</td>
-<td>
-<script type="text/javascript"><!--
-google_ad_client = "pub-7218597156507462";
-/* 125x125, created 5/11/09 */
-google_ad_slot = "9298106441";
-google_ad_width = 125;
-google_ad_height = 125;
-//-->
-</script>
-<script type="text/javascript"
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-</script>
-</td>
-</tr></table>
+</div>
 
 
 <p>
index f08e3ec..b589433 100644 (file)
@@ -162,7 +162,7 @@ body {font-family: Arial, Tahoma, Verdana;}
 \r
 <body>
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -172,21 +172,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <p>This example displays the Rico Calendar in various formats and the Rico Color Picker,\r
 as well a displaying a dialog window.\r
 </p>\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <table border='1' cellspacing='0' cellpadding='7'>\r
index b9abd16..3637557 100644 (file)
@@ -23,7 +23,7 @@ function ToggleElements(id,cssSelect) {
 
 <body>
 
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>
+<div id='explanation'>
 Base Library: 
 <script type='text/javascript'>
 document.write(Rico.Lib+' '+Rico.LibVersion);
@@ -33,21 +33,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <p>This example demonstrates the library's CSS selector engine.
 Click on a button to toggle the visibility of the specified items.
 </p>
-</td>
-<td>
-<script type="text/javascript"><!--
-google_ad_client = "pub-7218597156507462";
-/* 125x125, created 5/11/09 */
-google_ad_slot = "9298106441";
-google_ad_width = 125;
-google_ad_height = 125;
-//-->
-</script>
-<script type="text/javascript"
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-</script>
-</td>
-</tr></table>
+</div>
 
 
 <p>
index fc4612f..ffde2f4 100644 (file)
@@ -20,8 +20,8 @@ Rico.onLoad( function() {
   var opts = {  \r
     useUnformattedColWidth: false,\r
     visibleRows  : 'parent',\r
-    columnSpecs  : [{Hdg:'Last Name', canDrag:true},\r
-                    {Hdg:'First Name', canDrag:true}]\r
+    columnSpecs  : [{Hdg:'Last Name', canDrag:true,width:100},\r
+                    {Hdg:'First Name', canDrag:true,width:100}]\r
   };\r
   for (var i=0; i<4; i++) {\r
     buffer[i]=new Rico.Buffer.Base();\r
index e2730e3..98a9ab2 100644 (file)
@@ -56,7 +56,7 @@ Rico.onLoad(function() {
 
 <body>
 
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>
+<div id='explanation'>
 Base Library: 
 <script type='text/javascript'>
 document.write(Rico.Lib+' '+Rico.LibVersion);
@@ -66,21 +66,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <p>In this example, the "Add" button adds an event to the "Test" button. 
 Conversely, the "Remove" button removes that event from the "Test" button.
 </p>
-</td>
-<td>
-<script type="text/javascript"><!--
-google_ad_client = "pub-7218597156507462";
-/* 125x125, created 5/11/09 */
-google_ad_slot = "9298106441";
-google_ad_width = 125;
-google_ad_height = 125;
-//-->
-</script>
-<script type="text/javascript"
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
-</script>
-</td>
-</tr></table>
+</div>
 
 <p>
 <button id='addA'>Add event to A</button>
index b0e015b..036c93e 100644 (file)
@@ -5,9 +5,9 @@
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
 <base target="content">\r
 \r
-<script src="../../ricoClient/js/baselibs/prototype.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/baselibs/prototype-1.6.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/rico.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico2Proto.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/ricoUI.js" type="text/javascript"></script>\r
 <link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet" />\r
 \r
@@ -204,12 +204,18 @@ ul li {
   <div>Choose the Base Library</div>\r
   <div>\r
 <ul>\r
-<li><a id='lib_proto'>Prototype</a>\r
-<li><a id='lib_jquery'>jQuery</a>\r
-<li><a id='lib_moo'>MooTools</a>\r
-<li><a id='lib_dojo'>dojo</a>\r
-<li><a id='lib_ext'>Ext</a>\r
-<li><a id='lib_glow'>Glow</a>\r
+<li><a id='lib_prototype-1.6'>Prototype 1.6</a>\r
+<li><a id='lib_prototype/1.7/prototype.js'>Prototype 1.7</a>\r
+<li><a id='lib_jquery/1.3/jquery.min.js'>jQuery 1.3</a>\r
+<li><a id='lib_jquery/1.4/jquery.min.js'>jQuery 1.4</a>\r
+<li><a id='lib_jquery/1.5/jquery.min.js'>jQuery 1.5</a>\r
+<li><a id='lib_mootools/1.2/mootools-yui-compressed.js'>MooTools 1.2</a>\r
+<li><a id='lib_mootools/1.3/mootools-yui-compressed.js'>MooTools 1.3</a>\r
+<li><a id='lib_dojo/1.4/dojo/dojo.xd.js'>dojo 1.4</a>\r
+<li><a id='lib_dojo/1.5/dojo/dojo.xd.js'>dojo 1.5</a>\r
+<li><a id='lib_ext-core/3.0/ext-core.js'>Ext 3.0</a>\r
+<li><a id='lib_ext-core/3.1/ext-core.js'>Ext 3.1</a>\r
+<li><a id='lib_glow.core-1.7'>Glow 1.7</a>\r
 </ul>\r
   </div>\r
 </div>\r
index 2c54498..3fa2e11 100644 (file)
@@ -54,7 +54,7 @@ function DisplayText(e) {
 \r
 <body>
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -62,21 +62,7 @@ document.write(Rico.Lib+' '+Rico.LibVersion);
 <hr>\r
 <p>This example displays an dialog window, then allows you to change the window contents - demonstrating how the window automatically resizes.\r
 </p>\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 \r
 <button id='btnWinCreate'>Display popup window</button>\r
index ec37139..2357ff0 100644 (file)
@@ -30,7 +30,7 @@ Rico.onLoad( function() {
 \r
 <body>\r
 \r
-<table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
+<div id='explanation'>\r
 Base Library: \r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
@@ -47,21 +47,7 @@ Rico.onLoad( function() {
 });\r
 </pre>\r
 </p>\r
-</td>\r
-<td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
-</td>\r
-</tr></table>\r
+</div>\r
 \r
 <table id='thumbnails' border='0' cellspacing='0' cellpadding='10'>\r
 \r
index 99efcce..d2786ad 100644 (file)
@@ -7,7 +7,7 @@ Rico.onLoad( function() {
   acc=new Rico.Accordion( 'accordion1', {panelHeight:100} );\r
   //WinResize();\r
   setLinks(Rico.select('#accordion1 ul a'));\r
-  setParm(Rico.$('lib_proto'));\r
+  setParm(Rico.$('lib_prototype-1.6'));\r
   setParm(Rico.$('theme_j-ui-lightness'));\r
   setTimeout(WinResize,5);\r
   setTimeout(function() {Event.observe(top, "resize", WinResize, false);},100);\r
index c2969db..add8257 100644 (file)
@@ -8,7 +8,7 @@ $baselibsDir=$jsDir."baselibs/";
 $grid_striping=true;       // apply row striping to LiveGrids?\r
 $checkQueryString = true;  // load settings from QueryString? true for demo, false for production\r
 $LoadBaseLib = true;       // load base Javascript library (prototype, jQuery, etc) from Rico directory?\r
-$jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/";\r
+$jQuery_theme_path = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/";\r
 \r
 if ($checkQueryString) {\r
   $ricoLib=$_GET['lib'];\r
@@ -16,7 +16,7 @@ if ($checkQueryString) {
   $ricoLogging=isset($_GET["log"]);\r
 } else {\r
   // set your production values here\r
-  $ricoLib="proto";    // base library (proto, jquery, moo, dojo, ext, or glow)\r
+  $ricoLib="prototype-1.6";     // base library\r
   $ricoTheme="j-ui-lightness";  // jquery themes start with j-, rico themes start with r-\r
   $ricoLogging=false;\r
 }\r
@@ -43,37 +43,15 @@ function SetConfig() {
 \r
 function LoadLib($baseLib, $baseLoadFlag) {\r
   global $baselibsDir,$transDir;\r
-  switch ($baseLib) {\r
-    case 'proto':\r
-      $baselib='prototype';\r
-      $adapter='2Proto';\r
-      break;\r
-    case 'jquery':\r
-      $baselib='jquery';\r
-      $adapter='2jQuery';\r
-      break;\r
-    case 'moo':\r
-      $baselib='mootools';\r
-      $adapter='2Moo';\r
-      break;\r
-    case 'dojo':\r
-      $baselib='dojo';\r
-      $adapter='2Dojo';\r
-      break;\r
-    case 'ext':\r
-      $baselib='ext-core';\r
-      $adapter='2Ext';\r
-      break;\r
-    case 'glow':\r
-      $baselib='glow.core';\r
-      $adapter='2Glow';\r
-      break;\r
-    default:\r
-      exit();\r
+  if ($baseLoadFlag) {\r
+    if (strpos($baseLib,"/") === false) {\r
+      echo "<script src='".$baselibsDir.$baseLib.".js' type='text/javascript'></script>\n";\r
+    } else {\r
+      echo "<script src='http://ajax.googleapis.com/ajax/libs/".$baseLib."' type='text/javascript'></script>\n";\r
+    }\r
   }\r
-  if ($baseLoadFlag) echo "<script src='".$baselibsDir.$baselib.".js' type='text/javascript'></script>\n";\r
   requireRicoJS("");\r
-  requireRicoJS($adapter);\r
+  requireRicoJS("2" . substr($baseLib,0,3));\r
   echo "<script src='".$transDir."ricoLocale_en.js' type='text/javascript'></script>\n";\r
   requireRicoCSS("rico");\r
   requireRicoJS("UI");\r
@@ -110,7 +88,7 @@ function LoadTheme($theme) {
   switch ($prefix) {\r
     case 'j':\r
       requireRicoJS("Themeroller");\r
-      echo "<link type='text/css' rel='stylesheet' href='".$cssDir."jquery-base/ui.base.css' />";\r
+      //echo "<link type='text/css' rel='stylesheet' href='".$cssDir."jquery-base/ui.base.css' />";\r
       echo "<link type='text/css' rel='Stylesheet' href='" . $jQuery_theme_path . $theme."/jquery-ui.css' />";\r
       break;\r
     case 'r':\r
index 137ad91..ad57326 100644 (file)
@@ -58,15 +58,7 @@ function DisplayTable() {
   echo "The Add and Edit forms are automatically generated by LiveGrid. ";
   echo "Updates are disabled on the database, so you will get an error message if you try to save.";
   echo "</td><td>";
-  echo "<script type='text/javascript'><!--\n";
-  echo "google_ad_client = 'pub-7218597156507462';\n";
-  echo "/* 125x125, created 5/11/09 */\n";
-  echo "google_ad_slot = '9298106441';\n";
-  echo "google_ad_width = 125;\n";
-  echo "google_ad_height = 125;\n";
-  echo "//-->\n";
-  echo "</script>\n";
-  echo "<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\n";
+  require "info.php";
   echo "</td></tr></table>";
 
   echo "<p><strong>Shippers Table</strong></p>";
index a525c9f..2edccda 100644 (file)
@@ -17,7 +17,7 @@ function OpenDB() {
 \r
   // MS SQL\r
   //$oDB->Dialect="TSQL";\r
-  //return $oDB->MSSqlLogon("mbrown27", $appDB, "userid", "password");\r
+  //return $oDB->MSSqlLogon("computer/instance", $appDB, "userid", "password");\r
 \r
   // ODBC - MS Access\r
   //$oDB->Dialect="Access";\r
index 614b78d..4ea7d55 100644 (file)
@@ -46,17 +46,9 @@ Department of Economic and Social Affairs of the United Nations Secretariat</a>
 <em>World Population Prospects: The 2008 Revision. Highlights.</em> New York: United Nations.  </p>                            \r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index 6f20ab5..4654f51 100644 (file)
@@ -71,15 +71,7 @@ function DisplayTable() {
   echo "Notice on the Edit form how the Rico Calendar is used to change dates. ";
   echo "Updates are disabled on the database, so you will get an error message if you try to save.";
   echo "</td><td>";
-  echo "<script type='text/javascript'><!--\n";
-  echo "google_ad_client = 'pub-7218597156507462';\n";
-  echo "/* 125x125, created 5/11/09 */\n";
-  echo "google_ad_slot = '9298106441';\n";
-  echo "google_ad_width = 125;\n";
-  echo "google_ad_height = 125;\n";
-  echo "//-->\n";
-  echo "</script>\n";
-  echo "<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>\n";
+  require "info.php";
   echo "</td></tr></table>";
   echo "<p><strong>Orders Table</strong></p>";
 
index 0605da3..b0c0dce 100644 (file)
@@ -65,17 +65,9 @@ Click on a cell to see available actions.
 (requires JSONview or similar extension in FF).\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index 1cffedc..564f6ed 100644 (file)
@@ -82,15 +82,9 @@ Notice on the Add form how you use the Rico Tree control to select the customer.
 Notice on the Edit form how the Rico Calendar is used to change dates. 
 Updates are disabled on the database, so you will get an error message if you try to save.
 </td><td>
-<script type='text/javascript'><!--
-google_ad_client = 'pub-7218597156507462';
-/* 125x125, created 5/11/09 */
-google_ad_slot = '9298106441';
-google_ad_width = 125;
-google_ad_height = 125;
-//-->
-</script>
-<script type='text/javascript' src='http://pagead2.googlesyndication.com/pagead/show_ads.js'></script>
+<?php
+require "info.php";
+?>
 </td></tr></table>
 
 <p><strong>Orders Table</strong></p>
index 0835b95..1893ed2 100644 (file)
@@ -64,17 +64,9 @@ Click on a cell to see available actions.
 <a href='ricoQuery.php?id=ex2&offset=0&page_size=10&get_total=true'>View the AJAX response (XML)</a>.\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index 1457d8b..9ee1dbc 100644 (file)
@@ -5,9 +5,9 @@
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
 <base target="content">\r
 \r
-<script src="../../ricoClient/js/baselibs/prototype.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/baselibs/prototype-1.6.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/rico.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico2Proto.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
 <script src="../../ricoClient/js/ricoUI.js" type="text/javascript"></script>\r
 <link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet" />\r
 \r
@@ -169,12 +169,18 @@ ul li {
   <div>Choose the Base Library</div>\r
   <div>\r
 <ul>\r
-<li><a id='lib_proto'>Prototype</a>\r
-<li><a id='lib_jquery'>jQuery</a>\r
-<li><a id='lib_moo'>MooTools</a>\r
-<li><a id='lib_dojo'>dojo</a>\r
-<li><a id='lib_ext'>Ext</a>\r
-<li><a id='lib_glow'>Glow</a>\r
+<li><a id='lib_prototype-1.6'>Prototype 1.6</a>\r
+<li><a id='lib_prototype/1.7/prototype.js'>Prototype 1.7</a>\r
+<li><a id='lib_jquery/1.3/jquery.min.js'>jQuery 1.3</a>\r
+<li><a id='lib_jquery/1.4/jquery.min.js'>jQuery 1.4</a>\r
+<li><a id='lib_jquery/1.5/jquery.min.js'>jQuery 1.5</a>\r
+<li><a id='lib_mootools/1.2/mootools-yui-compressed.js'>MooTools 1.2</a>\r
+<li><a id='lib_mootools/1.3/mootools-yui-compressed.js'>MooTools 1.3</a>\r
+<li><a id='lib_dojo/1.4/dojo/dojo.xd.js'>dojo 1.4</a>\r
+<li><a id='lib_dojo/1.5/dojo/dojo.xd.js'>dojo 1.5</a>\r
+<li><a id='lib_ext-core/3.0/ext-core.js'>Ext 3.0</a>\r
+<li><a id='lib_ext-core/3.1/ext-core.js'>Ext 3.1</a>\r
+<li><a id='lib_glow.core-1.7'>Glow 1.7</a>\r
 </ul>\r
   </div>\r
 </div>\r
index ba5316e..c74f62e 100644 (file)
@@ -97,17 +97,9 @@ to process the query and format the response in the Rico LiveGrid XML format.
 <p>Try moving your cursor over each photo...\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index 9db57e3..ef85bd3 100644 (file)
@@ -80,17 +80,9 @@ at the developer's discretion. Unlike LiveGrids, each cell in a SimpleGrid
 can be formatted individually.\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index edf5932..cf293ab 100644 (file)
@@ -48,17 +48,9 @@ Only one item is selected from the tree at a time.
 Data is from the Northwind customer table.\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index 6546256..034e45d 100644 (file)
@@ -71,17 +71,9 @@ This example displays some of the widgets that come with Rico.
 The widgets are compatible with all base libraries and themes.\r
 </td>\r
 <td>\r
-<script type="text/javascript"><!--\r
-google_ad_client = "pub-7218597156507462";\r
-/* 125x125, created 5/11/09 */\r
-google_ad_slot = "9298106441";\r
-google_ad_width = 125;\r
-google_ad_height = 125;\r
-//-->\r
-</script>\r
-<script type="text/javascript"\r
-src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
-</script>\r
+<?php\r
+require "info.php";\r
+?>\r
 </td>\r
 </tr></table>\r
 \r
index c508ef0..0e956ab 100644 (file)
@@ -221,13 +221,11 @@ class SimpleGrid
     dim colcnt,r,c\r
     if IsEmpty(ResizeRowIdx) then exit sub\r
     colcnt=rows(ResizeRowIdx).CellCount\r
-    response.write vbLf & "<div id='" & id & "_outerDiv'>"\r
+    response.write vbLf & "<div id='" & id & "_outerDiv'><table id='" & id & "' border='0' cellspacing='0' cellpadding='0'><tr valign='top'><td rowspan='2'>"\r
 \r
     '-------------------\r
     ' frozen columns\r
     '-------------------\r
-    response.write vbLf & "<div id='" & id & "_frozenTabsDiv'>"\r
-\r
     ' upper left\r
     response.write vbLf & "<table id='" & id & "_tab0h' class='ricoLG_table ricoLG_top ricoLG_left' cellspacing='0' cellpadding='0'><thead>"\r
     for r=0 to LastHeadingRow\r
@@ -240,13 +238,14 @@ class SimpleGrid
     response.write vbLf & "</thead></table>"\r
 \r
     ' lower left\r
+    response.write vbLf & "<div id='" & id & "_frozenTabsDiv'>"\r
     response.write "<table id='" & id & "_tab0' class='ricoLG_table ricoLG_bottom ricoLG_left' cellspacing='0' cellpadding='0'>"\r
     response.write vbLf & "<tr>"\r
     RenderColumns 0,FrozenCols-1\r
     response.write vbLf & "</tr>"\r
     response.write vbLf & "</table>"\r
 \r
-    response.write vbLf & "</div>"\r
+    response.write vbLf & "</div></td>"\r
 \r
 \r
     '-------------------\r
@@ -254,7 +253,7 @@ class SimpleGrid
     '-------------------\r
 \r
     ' upper right\r
-    response.write vbLf & "<div id='" & id & "_innerDiv'>"\r
+    response.write vbLf & "<td><div id='" & id & "_innerDiv'>"\r
     response.write vbLf & "<div id='" & id & "_scrollTabsDiv'>"\r
     response.write vbLf & "<table id='" & id & "_tab1h' class='ricoLG_table ricoLG_top ricoLG_right' cellspacing='0' cellpadding='0'><thead>"\r
     for r=0 to LastHeadingRow\r
@@ -269,15 +268,15 @@ class SimpleGrid
     response.write vbLf & "</div>"\r
 \r
     ' lower right\r
-    response.write vbLf & "<div id='" & id & "_scrollDiv'>"\r
+    response.write vbLf & "<tr valign='top'><td><div id='" & id & "_scrollDiv'>"\r
     response.write vbLf & "<table id='" & id & "_tab1' class='ricoLG_table ricoLG_bottom ricoLG_right' cellspacing='0' cellpadding='0'>"\r
     response.write vbLf & "<tr>"\r
     RenderColumns FrozenCols,colcnt-1\r
     response.write vbLf & "</tr>"\r
     response.write vbLf & "</table>"\r
-    response.write vbLf & "</div>"\r
+    response.write vbLf & "</div></td></tr>"\r
 \r
-    response.write vbLf & "</div>"\r
+    response.write vbLf & "</table></div>"\r
   End Sub\r
 end class\r
 \r
index 55a1fdc..293ab15 100644 (file)
@@ -16,7 +16,7 @@ Public Const sizeToParent=-4
 ' Private Properties\r
 ' ----------------------------------------------------\r
 \r
-Private _rows As Integer = sizeToWindow\r
+Private _rows As Integer = sizeToBody\r
 Private _sqlFilters as New ArrayList()\r
 Private _gridHeading As ITemplate = Nothing\r
 Private _headingTop As ITemplate = Nothing\r
@@ -56,16 +56,13 @@ Public FilterLocation as Integer = -2
 Public FilterAllToken as String\r
 Public FilterBoxMaxLen as Integer = -1\r
 Public FilterAnchorLeft as Boolean = false  ' when matching text box values, should they match beginning of string (true) or anywhere in string (false)?
-Public requestParameters as New Hashtable()\r
 Public saveColumnWidth as Boolean = True\r
 Public saveColumnFilter as Boolean = False\r
 Public saveColumnSort as Boolean = False\r
 Public cookieDays as Integer\r
 Public DefaultSort as String\r
-Public BufferType as String = "AjaxSQL"  ' can be overridden to AjaxXML\r
 Public maxPrint as Integer = -1\r
 Public dndMgrIdx as Integer = -1\r
-Public fmt as String = "xml"\r
 Public UsingMinRico as Boolean = False   ' using minified version of Rico?\r
 Public sessions as Boolean = True\r
 Public minPageRows as Integer = -1\r
@@ -74,6 +71,13 @@ Public defaultWidth as Integer = -1  ' if -1, then use unformatted column width,
 Public debug as Boolean = False\r
 Public LogSqlOnError as Boolean = false   ' include sql statement in results if an error occurs (true/false)\r
 \r
+' ----------------------------------------------------\r
+' Public Properties for buffer\r
+' ----------------------------------------------------\r
+Public BufferType as String = "AjaxSQL"  ' can be overridden to AjaxXML\r
+Public fmt as String = "xml"\r
+Public largeBufferSize as Integer = -1   ' controls size of client buffer and AJAX fetch size\r
+Public requestParameters as New Hashtable()\r
 \r
 \r
 Public Property rows() As Integer\r
@@ -292,6 +296,7 @@ Protected ReadOnly Property init_Script() As String
     if BufferType="AjaxSQL" then\r
       if a.Count > 0 then script.Append(",")\r
       script.Append(vbCrLf & "    TimeOut: " & Session.Timeout & ",")\r
+      if largeBufferSize > 0 then script.Append(vbCrLf & "    largeBufferSize: " & largeBufferSize & ",")\r
       script.Append(vbCrLf & "    fmt: '" & fmt & "'")\r
     end if\r
     script.Append(vbCrLf & "  }" & vbCrLf)\r
@@ -586,6 +591,19 @@ End Sub
 \r
 \r
 ' -------------------------------------------------------------\r
+' Return the form value of a column based on its column name (insert or update action)\r
+' -------------------------------------------------------------\r
+Public Function FormValue(ByVal SearchName as String) as String\r
+  Dim idx as Integer = ColIndex(SearchName)\r
+  if idx < 0 then\r
+    FormValue = ""\r
+  else\r
+    FormValue = FormatFormValue(idx)\r
+  end if\r
+End Function\r
+\r
+\r
+' -------------------------------------------------------------\r
 ' Return the index of a column based on its column name, or -1 if not found\r
 ' -------------------------------------------------------------\r
 Public Function ColIndex(ByVal SearchName as String) as Integer\r
@@ -615,6 +633,20 @@ End Function
 \r
 \r
 ' -------------------------------------------------------------\r
+' Return the a column object based on its heading, or Nothing if not found\r
+' -------------------------------------------------------------\r
+Public Function getColumnByHeading(ByVal SearchName as String) as GridColumn\r
+  dim i as Integer\r
+  for i=0 to columns.Count-1\r
+    if columns(i).Heading=SearchName then\r
+      getColumnByHeading=columns(i)\r
+      Exit Function\r
+    end if\r
+  next\r
+End Function\r
+\r
+\r
+' -------------------------------------------------------------\r
 ' Return the index of a table based on its table name\r
 ' -------------------------------------------------------------\r
 Public Function TabIndex(ByVal SearchName as String)\r
@@ -638,6 +670,12 @@ End Function
 \r
 \r
 ' form where clause based on table's primary key\r
+Public function MainTableKeyWhereClause() as String\r
+  MainTableKeyWhereClause = TableKeyWhereClause(MainTbl)\r
+End Function\r
+\r
+\r
+' form where clause based on table's primary key\r
 Private function TableKeyWhereClause(TabIdx as Integer) as String\r
   dim i as Integer, w as String\r
   for i=0 to columns.Count-1\r
index c742f03..e3d5eb4 100644 (file)
@@ -13,8 +13,9 @@ Public FilterLocation as Integer = -2
 Public FilterAllToken as String\r
 Public FilterBoxMaxLen as Integer = -1\r
 Public FilterAnchorLeft as Boolean = false  ' when matching text box values, should they match beginning of string (true) or anywhere in string (false)?
-Public UsingMinRico as Boolean = True       ' using minified version of Rico?\r
+Public UsingMinRico as Boolean = False      ' using minified version of Rico?\r
 Public defaultWidth as Integer = -1         ' if -1, then use unformatted column width, otherwise this is the default width in pixels\r
+Public allowColResize as Boolean = True\r
 Public menuEvent as String\r
 public rows as New ArrayList()\r
 public FrozenCols as Integer\r
@@ -189,7 +190,7 @@ Public Sub SetCellAttr(ByVal name as String, ByVal value as String)
   rows(LastRow).SetCellAttr(name,value)\r
 End Sub\r
 \r
-Private Function RenderColumns(writer as HTMLTextWriter, c1 as Integer, c2 as Integer)\r
+Private Sub RenderColumns(writer as HTMLTextWriter, c1 as Integer, c2 as Integer)\r
   dim r as Integer, c as Integer\r
   for c=c1 to c2\r
     writer.Write("<td><div class='ricoLG_col'>")\r
@@ -198,7 +199,7 @@ Private Function RenderColumns(writer as HTMLTextWriter, c1 as Integer, c2 as In
     next\r
     writer.WriteLine("</div></td>")\r
   next\r
-End Function\r
+End Sub\r
 \r
 <TemplateContainer(GetType(GridContainer))> _\r
 Public Property GridColumns() As ITemplate\r
@@ -210,9 +211,25 @@ Public Property GridColumns() As ITemplate
   End Set\r
 End Property\r
 \r
+' returns true if there is a valid heading\r
+Private Sub CheckHeading()\r
+  if not IsNothing(ResizeRowIdx) then exit sub\r
+  rows.Insert(0, new SimpleGridRow())\r
+  LastHeadingRow=0\r
+  ResizeRowIdx=0\r
+  Dim c as Integer\r
+  for c=0 to columns.count-1\r
+    rows(0).AddCell( CType(columns(c),GridColumn).heading )\r
+  next\r
+End Sub\r
+\r
+Private function FmtBool(b)\r
+  if b then FmtBool="true" else FmtBool="false"\r
+end function\r
+\r
 Protected Overrides Sub Render(writer as HTMLTextWriter)\r
   dim colcnt as Integer, r as Integer, c as Integer\r
-  if IsNothing(ResizeRowIdx) then exit sub\r
+  CheckHeading\r
   colcnt=rows(ResizeRowIdx).CellCount\r
   \r
   writer.WriteLine("<script type='text/javascript'>")\r
@@ -226,6 +243,7 @@ Protected Overrides Sub Render(writer as HTMLTextWriter)
   if FilterAnchorLeft           then writer.WriteLine("    FilterAnchorLeft: " & lcase(FilterAnchorLeft) & ",")\r
   if defaultWidth > 0           then writer.WriteLine("    defaultWidth: " & defaultWidth & ",")\r
   if not IsNothing(menuEvent)   then writer.WriteLine("    menuEvent: '" & menuEvent & "',")\r
+  writer.WriteLine("    allowColResize: " & FmtBool(allowColResize) & "," & vbCrLf)\r
   writer.WriteLine("    columnSpecs: [")\r
   for c=0 to columns.count-1\r
     if c > 0 then writer.WriteLine(",")\r
@@ -238,12 +256,11 @@ Protected Overrides Sub Render(writer as HTMLTextWriter)
   writer.WriteLine("});")\r
   writer.WriteLine("</script>")\r
   \r
-  writer.Write("<div id='" & Me.UniqueId & "_outerDiv'>")\r
+  writer.Write("<div id='" & Me.UniqueId & "_outerDiv'><table id='" & Me.UniqueId & "' border='0' cellspacing='0' cellpadding='0'><tr valign='top'><td rowspan='2'>")\r
 \r
   '-------------------\r
   ' frozen columns\r
   '-------------------\r
-  writer.WriteLine("<div id='" & Me.UniqueId & "_frozenTabsDiv'>")\r
 \r
   ' upper left\r
   writer.WriteLine("<table id='" & Me.UniqueId & "_tab0h' class='ricoLG_table ricoLG_top ricoLG_left' cellspacing='0' cellpadding='0'><thead>")\r
@@ -251,19 +268,21 @@ Protected Overrides Sub Render(writer as HTMLTextWriter)
     writer.Write("<tr class='" & rows(r).HeadingClass() & "'")\r
     if r=ResizeRowIdx then writer.Write(" id='" & Me.UniqueId & "_tab0h_main'")\r
     writer.WriteLine(">")\r
-    writer.Write(rows(r).HeadingRow(0,FrozenCols-1))\r
+    if FrozenCols > 0 then writer.Write(rows(r).HeadingRow(0,FrozenCols-1))\r
     writer.Write("</tr>")\r
   next\r
   writer.WriteLine("</thead></table>")\r
 \r
+  writer.WriteLine("<div id='" & Me.UniqueId & "_frozenTabsDiv'>")\r
+\r
   ' lower left\r
   writer.Write("<table id='" & Me.UniqueId & "_tab0' class='ricoLG_table ricoLG_bottom ricoLG_left' cellspacing='0' cellpadding='0'>")\r
   writer.WriteLine("<tr>")\r
-  RenderColumns(writer,0,FrozenCols-1)\r
+  if FrozenCols > 0 then RenderColumns(writer,0,FrozenCols-1)\r
   writer.Write("</tr>")\r
   writer.WriteLine("</table>")\r
 \r
-  writer.WriteLine("</div>")\r
+  writer.WriteLine("</div></td>")\r
 \r
 \r
   '-------------------\r
@@ -271,8 +290,8 @@ Protected Overrides Sub Render(writer as HTMLTextWriter)
   '-------------------\r
 \r
   ' upper right\r
-  writer.Write("<div id='" & Me.UniqueId & "_innerDiv'>")\r
-  writer.Write("<div id='" & Me.UniqueId & "_scrollTabsDiv'>")\r
+  writer.Write("<td><div id='" & Me.UniqueId & "_innerDiv'>")\r
+  'writer.Write("<div id='" & Me.UniqueId & "_scrollTabsDiv'>")\r
   writer.WriteLine("<table id='" & Me.UniqueId & "_tab1h' class='ricoLG_table ricoLG_top ricoLG_right' cellspacing='0' cellpadding='0'><thead>")\r
   for r=0 to LastHeadingRow\r
     writer.Write("<tr class='" & rows(r).HeadingClass & "'")\r
@@ -282,19 +301,19 @@ Protected Overrides Sub Render(writer as HTMLTextWriter)
     writer.Write("</tr>")\r
   next\r
   writer.Write("</thead></table>")\r
-  writer.Write("</div>")\r
-  writer.WriteLine("</div>")\r
+  'writer.Write("</div>")\r
+  writer.WriteLine("</div></td></tr>")\r
 \r
   ' lower right\r
-  writer.Write("<div id='" & Me.UniqueId & "_scrollDiv'>")\r
+  writer.Write("<tr valign='top'><td><div id='" & Me.UniqueId & "_scrollDiv'>")\r
   writer.Write("<table id='" & Me.UniqueId & "_tab1' class='ricoLG_table ricoLG_bottom ricoLG_right' cellspacing='0' cellpadding='0'>")\r
   writer.WriteLine("<tr>")\r
   RenderColumns(writer,FrozenCols,colcnt-1)\r
   writer.Write("</tr>")\r
   writer.Write("</table>")\r
-  writer.Write("</div>")\r
+  writer.Write("</div></td></tr>")\r
 \r
-  writer.WriteLine("</div>")\r
+  writer.WriteLine("</table></div>")\r
 End Sub\r
 \r
 ' Response.Buffer must be true\r
@@ -306,6 +325,7 @@ Public Sub RenderExcel(fileName)
   if fileName<>"" then HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" & fileName)\r
   HttpContext.Current.Response.ContentType = "application/ms-excel"\r
 \r
+  CheckHeading\r
   sw.WriteLine("<table>")\r
   for r=0 to rows.count-1\r
     sw.WriteLine("<tr>")\r
@@ -314,7 +334,7 @@ Public Sub RenderExcel(fileName)
     next\r
     sw.WriteLine("</tr>")\r
   next\r
-  sw.WriteLine("</table>")\r
+  sw.WriteLine("</table></div>")\r
   HttpContext.Current.Response.Write(sw.ToString)\r
   HttpContext.Current.Response.End()\r
 End Sub\r
@@ -328,6 +348,7 @@ Public Sub RenderDelimited(fileName,delim,SubstituteChar)
   if fileName<>"" then HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" & fileName)\r
   HttpContext.Current.Response.ContentType = "text/csv"\r
 \r
+  CheckHeading\r
   for r=0 to rows.count-1\r
     for c=0 to rows(r).CellCount()-1\r
       if c > 0 then sw.Write(delim)\r
index e525624..819eeb6 100644 (file)
@@ -76,13 +76,24 @@ Public Function UnparseSelectDistinct() As String
 end Function\r
 \r
 \r
-Public Function UnparseDistinctColumn(colnum as integer) As String\r
+' MS Access does not support ordering by column name\r
+Public Function UnparseDistinctColumnAccess(colnum as integer) As String\r
   dim sqltext As String\r
   sqltext="SELECT DISTINCT " & SelectList(colnum).sql & " FROM " & FromClause\r
   if not IsNothing(WhereClause) then sqltext &= " WHERE " & WhereClause\r
   Headings.Clear()\r
   Headings.Add(SelectList(colnum).name)\r
-  UnparseDistinctColumn=sqltext\r
+  UnparseDistinctColumnAccess=sqltext & " ORDER BY " & SelectList(colnum).sql\r
+end Function\r
+\r
+\r
+Public Function UnparseDistinctColumn(colnum as integer) As String\r
+  dim sqltext As String\r
+  sqltext="SELECT DISTINCT " & SelectList(colnum).sql & " as col1 FROM " & FromClause\r
+  if not IsNothing(WhereClause) then sqltext &= " WHERE " & WhereClause\r
+  Headings.Clear()\r
+  Headings.Add(SelectList(colnum).name)\r
+  UnparseDistinctColumn=sqltext & " ORDER BY col1"\r
 end Function\r
 \r
 \r
index 14ccc3f..9dce42b 100644 (file)
@@ -855,7 +855,7 @@ class dbClass
 // -------------------------------------------------------------\r
   function dbClass()\r
   {\r
-    $this->Provider="localhost";\r
+    $this->Provider="127.0.0.1";\r
     $this->debug=false;\r
     $this->ConnTimeout=30; // seconds\r
     $this->LockTimeout=5000; // milliseconds\r
@@ -932,9 +932,10 @@ class dbClass
     $this->Dialect="MySQL";\r
     $this->dbDefault = $DefDB;\r
     $this->dbMain = mysql_connect($this->Provider,$userid,$pw);\r
-    mysql_select_db($DefDB,$this->dbMain);\r
     $this->db =& new dbClass_mysql($this->dbMain);\r
-    if ($this->CheckForError("opening connection")) return false;\r
+    if ($this->CheckForError("opening connection to " . $this->Provider)) return false;\r
+    mysql_select_db($DefDB,$this->dbMain);\r
+    if ($this->CheckForError("selecting database " . $DefDB)) return false;\r
     return true;\r
   }\r
 \r
index f14d371..4a02c77 100644 (file)
@@ -7,14 +7,25 @@ www.456bereastreet.com
   font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;\r
 }\r
 \r
-.ricoLG_table {\r
+div.ricoLG_outerDiv div.ricoLG_cell, div.ricoLG_outerDiv div.ricoLG_cell *, div.ricoLG_keywordDiv *, table.ricoLiveGrid td, table.ricoLiveGrid th  {\r
+  font-size: 11px;\r
+  color:#000;\r
+}\r
+\r
+.ricoLG_top {\r
   border-top:1px solid #523A0B !important;\r
+}\r
+\r
+.ricoLG_table thead tr:last-child   td {\r
+  border-bottom:1px solid #523A0B !important;\r
+}\r
+\r
+.ricoLG_table thead * {\r
   border-right:none;\r
-  color:#000;\r
 }\r
 tr.ricoLG_hdg .ricoLG_cell, tr.ricoLG_hdg th, tr.ricoLG_hdg td {  /* td/th required for IE */\r
   background:#EBE5D9 !important;\r
-  line-height:normal;\r
+  height:1.5em;\r
   text-align:left;\r
 }\r
 \r
@@ -34,9 +45,11 @@ tr.ricoLG_hdg th, tr.ricoLG_hdg td {
 tr.ricoLG_hdg div.ricoLG_cell {\r
   background:#EBE5D9;\r
   font-weight:bold;\r
-  padding:0.5em 0 0.5em 0.5em;\r
 }\r
-div.ricoLG_outerDiv table a {\r
+div.ricoLG_cell {\r
+  padding:0.25em 0.5em;\r
+}\r
+div.ricoLG_outerDiv a {\r
   color:#523A0B;\r
   text-decoration:none;\r
   border-bottom:1px dotted;\r
@@ -74,13 +87,13 @@ a.RicoButton.hover {
 \r
 .ricoWindow {\r
   border: 1px solid #523A0B;\r
-  background-color: #ffffee;\r
+  background-color: #fffff8;\r
 }\r
 .ricoTitle  {\r
   background-color: #EBE5D9;\r
   border-bottom: 1px solid #523A0B;\r
   color: #000;\r
-  font-weight: normal;\r
+  font-weight: bold;\r
   font-size:11pt;\r
 }\r
 \r
index 5d67fa9..05916ee 100644 (file)
@@ -9,29 +9,20 @@ div.ricoLG_outerDiv *, div.ricoLG_outerDiv div.ricoLG_cell, div.ricoLG_editDiv *
 \r
 div.ricoLG_outerDiv div.ricoLG_cell, div.ricoLG_outerDiv div.ricoLG_cell *, div.ricoLG_keywordDiv *, table.ricoLiveGrid td, table.ricoLiveGrid th  {\r
   font-size: 11px;\r
-}\r
-\r
-.ricoLG_table {\r
-       border-top: 1px solid #CCC;\r
-       border-right: 1px solid #CCC;\r
+  font-weight: normal;\r
 }\r
 \r
 tr.ricoLG_hdg th, tr.ricoLG_hdg td, table.ricoLiveGrid thead td, table.ricoLiveGrid thead th {\r
-       background-color: #FFF !important;\r
+  background-color: #FFF !important;\r
   background: url(../images/grayedout.gif) #FFF repeat-x scroll center left;\r
-  border-bottom: 1px solid #CCC;\r
-}\r
-\r
-.ricoLG_table th, .ricoLG_table td {\r
-       border-left: 1px solid #CCC;\r
 }\r
 \r
-.ricoLG_bottom th, .ricoLG_bottom td {\r
-       border-bottom: 1px solid #CCC;\r
+.ricoLG_bottom div.ricoLG_cell, table.ricoLG_top, table.ricoLG_top thead th, table.ricoLG_top thead td, table.ricoLiveGrid td, table.ricoLiveGrid th, .ricoLG_bottom th, .ricoLG_bottom td {\r
+  border-color: #CCC !important;\r
 }\r
 \r
 div.ricoLG_outerDiv .ricoLG_bottom div.ricoLG_cell {\r
-  border-bottom: none;\r
+/*  border-bottom: none; */\r
   padding: 5px;\r
 }\r
 \r
@@ -40,18 +31,18 @@ tr.ricoLG_hdg .ricoLG_cell {
 }\r
 \r
 div.ricoLG_outerDiv a:visited, div.ricoLG_outerDiv a:link {\r
-       color: #009;\r
-       text-decoration: none;\r
+  color: #009;\r
+  text-decoration: none;\r
 }\r
 \r
 div.ricoLG_outerDiv a:hover {\r
-       color: #009;\r
-       text-decoration: underline;\r
+  color: #009;\r
+  text-decoration: underline;\r
 }\r
 \r
 div.ricoLG_selection {\r
-       background-color: #999;\r
-       color: #FFF;\r
+  background-color: #999;\r
+  color: #FFF;\r
 }\r
 \r
 div.ricoLG_messageDiv {\r
@@ -61,9 +52,9 @@ div.ricoLG_messageDiv {
 }\r
 \r
 div.ricoLG_highlightDiv {\r
-       border-color: #999;\r
+  border-color: #999;\r
 }\r
-       \r
+\r
 a.RicoButton {\r
   background-color: #999;\r
   color: #FFF;\r
@@ -73,21 +64,21 @@ a.RicoButton.hover {
 }\r
 \r
 caption {\r
-       text-align: left;\r
-       font-size: 100%;\r
-       padding: .75em;\r
-       color: #000;\r
+  text-align: left;\r
+  font-size: 100%;\r
+  padding: .75em;\r
+  color: #000;\r
 }\r
 \r
 .ricoWindow {\r
   border: 1px solid #CCC;\r
   font-size: 11px;\r
-       background-color: #F8F8F8;\r
+  background-color: #FCFCFC;\r
 }\r
 .ricoTitle  {\r
   background: url(../images/grayedout.gif) #FFF repeat-x scroll center left;\r
   border-bottom: 1px solid #CCC;\r
-       color: #000;\r
+  color: #000;\r
   font-weight: bold;\r
   font-size: 11px;\r
 }\r
@@ -96,11 +87,11 @@ caption {
   background: #999;\r
   cursor: auto;\r
 }\r
-.Rico_tabContent {\r
-  background: #FFF;\r
+.Rico_tabContent, .noTabContent {\r
+  background: #F8F8F8;\r
 }\r
 \r
-.Rico_tabContentContainer {\r
+.Rico_tabContentContainer, .noTabContent {\r
   border : 1px solid #999;\r
 }\r
 .Rico_tabTitle {\r
index 3856b8e..3e241f3 100644 (file)
@@ -48,11 +48,11 @@ a.RicoButton.hover {
   background: #cedebd;\r
   cursor: auto;\r
 }\r
-.Rico_tabContent {\r
-    background: #f8f8f8;\r
+.Rico_tabContent, .noTabContent {\r
+    background: #e7efde;\r
 }\r
 \r
-.Rico_tabContentContainer {\r
+.Rico_tabContentContainer, .noTabContent {\r
   border : 1px solid #4f4f4f;\r
 }\r
 .Rico_tabTitle {\r
diff --git a/ricoClient/css/jquery-base/images/ui-bg_flat_0_aaaaaa_40x100.png b/ricoClient/css/jquery-base/images/ui-bg_flat_0_aaaaaa_40x100.png
deleted file mode 100644 (file)
index 5b5dab2..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_flat_0_aaaaaa_40x100.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_flat_75_ffffff_40x100.png b/ricoClient/css/jquery-base/images/ui-bg_flat_75_ffffff_40x100.png
deleted file mode 100644 (file)
index ac8b229..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_flat_75_ffffff_40x100.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_glass_55_fbf9ee_1x400.png b/ricoClient/css/jquery-base/images/ui-bg_glass_55_fbf9ee_1x400.png
deleted file mode 100644 (file)
index ad3d634..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_glass_55_fbf9ee_1x400.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_glass_65_ffffff_1x400.png b/ricoClient/css/jquery-base/images/ui-bg_glass_65_ffffff_1x400.png
deleted file mode 100644 (file)
index 42ccba2..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_glass_65_ffffff_1x400.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_glass_75_dadada_1x400.png b/ricoClient/css/jquery-base/images/ui-bg_glass_75_dadada_1x400.png
deleted file mode 100644 (file)
index 5a46b47..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_glass_75_dadada_1x400.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_glass_75_e6e6e6_1x400.png b/ricoClient/css/jquery-base/images/ui-bg_glass_75_e6e6e6_1x400.png
deleted file mode 100644 (file)
index 86c2baa..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_glass_75_e6e6e6_1x400.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_glass_95_fef1ec_1x400.png b/ricoClient/css/jquery-base/images/ui-bg_glass_95_fef1ec_1x400.png
deleted file mode 100644 (file)
index 4443fdc..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_glass_95_fef1ec_1x400.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/ricoClient/css/jquery-base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
deleted file mode 100644 (file)
index 7c9fa6c..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-bg_highlight-soft_75_cccccc_1x100.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-icons_222222_256x240.png b/ricoClient/css/jquery-base/images/ui-icons_222222_256x240.png
deleted file mode 100644 (file)
index ee039dc..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-icons_222222_256x240.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-icons_2e83ff_256x240.png b/ricoClient/css/jquery-base/images/ui-icons_2e83ff_256x240.png
deleted file mode 100644 (file)
index 45e8928..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-icons_2e83ff_256x240.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-icons_454545_256x240.png b/ricoClient/css/jquery-base/images/ui-icons_454545_256x240.png
deleted file mode 100644 (file)
index 7ec70d1..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-icons_454545_256x240.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-icons_888888_256x240.png b/ricoClient/css/jquery-base/images/ui-icons_888888_256x240.png
deleted file mode 100644 (file)
index 5ba708c..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-icons_888888_256x240.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/images/ui-icons_cd0a0a_256x240.png b/ricoClient/css/jquery-base/images/ui-icons_cd0a0a_256x240.png
deleted file mode 100644 (file)
index 7930a55..0000000
Binary files a/ricoClient/css/jquery-base/images/ui-icons_cd0a0a_256x240.png and /dev/null differ
diff --git a/ricoClient/css/jquery-base/ui.accordion.css b/ricoClient/css/jquery-base/ui.accordion.css
deleted file mode 100644 (file)
index ee1b1b6..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Accordion
-----------------------------------*/
-.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
-.ui-accordion .ui-accordion-li-fix { display: inline; }
-.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
-.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
-.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
-.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
-.ui-accordion .ui-accordion-content-active { display: block; }
\ No newline at end of file
diff --git a/ricoClient/css/jquery-base/ui.base.css b/ricoClient/css/jquery-base/ui.base.css
deleted file mode 100644 (file)
index 58f5587..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-@import url("ui.core.css");
-@import url("ui.accordion.css");
-@import url("ui.dialog.css");
-@import url("ui.tabs.css");
-@import url("ui.datepicker.css");
\ No newline at end of file
diff --git a/ricoClient/css/jquery-base/ui.core.css b/ricoClient/css/jquery-base/ui.core.css
deleted file mode 100644 (file)
index c2f18f2..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-* jQuery UI CSS Framework
-* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
-* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
-*/
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
-.ui-helper-clearfix { display: inline-block; }
-/* required comment for clearfix to work in Opera \*/
-* html .ui-helper-clearfix { height:1%; }
-.ui-helper-clearfix { display:block; }
-/* end clearfix */
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
\ No newline at end of file
diff --git a/ricoClient/css/jquery-base/ui.datepicker.css b/ricoClient/css/jquery-base/ui.datepicker.css
deleted file mode 100644 (file)
index 567f8c9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Datepicker
-----------------------------------*/
-.ui-datepicker { width: 17em; padding: .2em .2em 0; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month, 
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
-    display: none; /*sorry for IE5*/
-    display/**/: block; /*sorry for IE5*/
-    position: absolute; /*must have*/
-    z-index: -1; /*must have*/
-    filter: mask(); /*must have*/
-    top: -4px; /*must have*/
-    left: -4px; /*must have*/
-    width: 200px; /*must have*/
-    height: 200px; /*must have*/
-}
\ No newline at end of file
diff --git a/ricoClient/css/jquery-base/ui.dialog.css b/ricoClient/css/jquery-base/ui.dialog.css
deleted file mode 100644 (file)
index 2997595..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Dialog
-----------------------------------*/
-.ui-dialog { position: relative; padding: .2em; width: 300px; }
-.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative;  }
-.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } 
-.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
-.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
-.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
-.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
-.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
-.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
-.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
-.ui-draggable .ui-dialog-titlebar { cursor: move; }
diff --git a/ricoClient/css/jquery-base/ui.tabs.css b/ricoClient/css/jquery-base/ui.tabs.css
deleted file mode 100644 (file)
index 3ca6b9a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Tabs
-----------------------------------*/
-.ui-tabs { padding: .2em; zoom: 1; }
-.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
-.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
-.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
-.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
-.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
-.ui-tabs .ui-tabs-hide { display: none !important; }
index 66c93a7..46586ed 100644 (file)
@@ -4,7 +4,7 @@
 \r
 /* LiveGrid & SimpleGrid */\r
  \r
-div.ricoLG_outerDiv {\r
+.ricoLG_outerDiv {\r
   position:relative;\r
 }\r
 \r
@@ -12,8 +12,7 @@ div.ricoLG_innerDiv, div.ricoLG_frozenTabsDiv {
   overflow:hidden;\r
   margin:0px;\r
   padding:0px;\r
-  position:absolute;\r
-  top:0px;\r
+  position:relative;\r
 }\r
 \r
 div.ricoLG_scrollDiv {\r
@@ -21,9 +20,15 @@ div.ricoLG_scrollDiv {
   position:relative;\r
 }\r
 \r
-div.ricoLG_scrollTabsDiv {\r
+div.ricoLG_scrollContainerDiv {\r
+  position:relative;\r
+}\r
+\r
+div.ricoLG_scrollTabDiv {\r
   position:absolute;\r
+  left:0px;\r
   top:0px;\r
+  overflow:hidden;\r
 }\r
 \r
 div.ricoLG_resizeDiv {\r
@@ -43,13 +48,13 @@ div.ricoLG_highlightDiv {
   margin: 0px;\r
   padding: 0px;\r
   border-right: 1px solid silver;\r
-  border-top: 1px solid silver;\r
   border-left-width: 0px;  /* for dojo */\r
 }\r
 \r
 .ricoLG_FilterRow  div.ricoLG_cell {\r
   height:1.6em;\r
   line-height: 1.6em;\r
+  white-space: nowrap;\r
 }\r
 \r
 .ricoLG_FilterRow  div.ricoLG_cell {\r
@@ -82,7 +87,7 @@ tr.ricoLG_mFilter_oddrow {
   background-color: #EEE;\r
 }\r
 \r
-table.ricoLG_bottom, table.ricoLiveGrid td, table.ricoLiveGrid th {\r
+table.ricoLG_bottom {\r
   border-top-style: none;\r
 }\r
 \r
@@ -93,11 +98,11 @@ div.ricoLG_col {
   width:100px;\r
 }\r
 \r
-.ricoLG_top div.ricoLG_col {\r
+table.ricoLG_top thead div.ricoLG_col {\r
   position:relative;\r
 }\r
 \r
-.ricoLG_top div.ricoLG_Resize {\r
+table.ricoLG_top thead div.ricoLG_Resize {\r
   position:absolute;\r
   width:5px;\r
   height:100%;\r
@@ -141,12 +146,20 @@ div.ricoLG_col {
   border-width: 0px 0px 1px 0px;\r
 }\r
 \r
-.ricoLG_top th, .ricoLG_top td, table.ricoLiveGrid td, table.ricoLiveGrid th {\r
+table.ricoLG_top, table.ricoLiveGrid  {\r
+  border-top: 1px solid silver;\r
+}\r
+\r
+table.ricoLG_top thead th, table.ricoLG_top thead td, table.ricoLiveGrid td, table.ricoLiveGrid th {\r
   border-style: solid;\r
   border-color: silver;\r
   border-width: 0px 0px 1px 1px;\r
 }\r
 \r
+* html table.ricoLG_top thead th, * html table.ricoLG_top thead td, * html table.ricoLiveGrid td, * html table.ricoLiveGrid th {\r
+  position: relative; /* IE6  only */\r
+}\r
+\r
 .ricoLG_bottom th, .ricoLG_bottom td {\r
   border-style: solid;\r
   border-color: silver;\r
@@ -203,12 +216,12 @@ span.ricoSessionTimer {
   color:white;\r
 }\r
 \r
-.ricoLG_top input {\r
+table.ricoLG_top thead input {\r
   font-weight: normal;\r
   font-size: 8pt !important;\r
 }\r
 \r
-.ricoLG_top option, .ricoLG_top select {\r
+table.ricoLG_top thead option, table.ricoLG_top thead select {\r
   font-weight: normal;\r
   font-size: 9pt !important;\r
 }\r
@@ -430,6 +443,7 @@ a.RicoButton {
   position: absolute;\r
   top: 1px;\r
   right: 2px;\r
+  border: 0px none !important;\r
 }\r
 \r
 span.RicoCloseW {\r
index 20d526d..51ae738 100644 (file)
@@ -8,7 +8,7 @@ div.ricoLG_outerDiv *, div.ricoLG_outerDiv div.ricoLG_cell, div.ricoLG_editDiv *
   font-family: Verdana, Arial, Helvetica, sans-serif;\r
 }\r
 \r
-.ricoLG_table {\r
+.ricoLG_table thead {\r
        border-top: 1px solid #84785e;\r
        border-right: 1px solid #84785e;\r
 }\r
@@ -24,7 +24,7 @@ tr.ricoLG_hdg .ricoLG_cell, tr.ricoLG_hdg .ricoLG_cell a, tr.ricoLG_hdg .ricoLG_
 }\r
 \r
 .ricoLG_bottom div.ricoLG_cell, .ricoLG_top th, .ricoLG_top td {\r
-  border-bottom: 1px solid #84785e;\r
+  border-color: #84785e !important;\r
 }\r
 \r
 tr.ricoLG_hdg .ricoLG_cell {\r
diff --git a/ricoClient/js/baselibs/README.TXT b/ricoClient/js/baselibs/README.TXT
new file mode 100644 (file)
index 0000000..32689cb
--- /dev/null
@@ -0,0 +1,5 @@
+The files in this directory are included in the Rico distribution\r
+for the purpose of demonstrating the examples. Each of these libraries \r
+has licensing terms that are different from Rico itself. Make sure you\r
+understand the terms before deploying any library into a production \r
+environment.
\ No newline at end of file
diff --git a/ricoClient/js/baselibs/dojo.debug.js b/ricoClient/js/baselibs/dojo.debug.js
deleted file mode 100644 (file)
index 7e0ae91..0000000
+++ /dev/null
@@ -1,11239 +0,0 @@
-/*
-       Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
-       Available via Academic Free License >= 2.1 OR the modified BSD license.
-       see: http://dojotoolkit.org/license for details
-*/
-
-/*
-       This is a compiled version of Dojo, built for deployment and not for
-       development. To get an editable version, please visit:
-
-               http://dojotoolkit.org
-
-       for documentation and information on getting the source.
-*/
-
-;(function(){
-
-       /*
-       dojo, dijit, and dojox must always be the first three, and in that order.
-       djConfig.scopeMap = [
-               ["dojo", "fojo"],
-               ["dijit", "fijit"],
-               ["dojox", "fojox"]
-       
-       ]
-       */
-
-       /**Build will replace this comment with a scoped djConfig **/
-
-       //The null below can be relaced by a build-time value used instead of djConfig.scopeMap.
-       var sMap = null;
-
-       //See if new scopes need to be defined.
-       if((sMap || (typeof djConfig != "undefined" && djConfig.scopeMap)) && (typeof window != "undefined")){
-               var scopeDef = "", scopePrefix = "", scopeSuffix = "", scopeMap = {}, scopeMapRev = {};
-               sMap = sMap || djConfig.scopeMap;
-               for(var i = 0; i < sMap.length; i++){
-                       //Make local variables, then global variables that use the locals.
-                       var newScope = sMap[i];
-                       scopeDef += "var " + newScope[0] + " = {}; " + newScope[1] + " = " + newScope[0] + ";" + newScope[1] + "._scopeName = '" + newScope[1] + "';";
-                       scopePrefix += (i == 0 ? "" : ",") + newScope[0];
-                       scopeSuffix += (i == 0 ? "" : ",") + newScope[1];
-                       scopeMap[newScope[0]] = newScope[1];
-                       scopeMapRev[newScope[1]] = newScope[0];
-               }
-
-               eval(scopeDef + "dojo._scopeArgs = [" + scopeSuffix + "];");
-
-               dojo._scopePrefixArgs = scopePrefix;
-               dojo._scopePrefix = "(function(" + scopePrefix + "){";
-               dojo._scopeSuffix = "})(" + scopeSuffix + ")";
-               dojo._scopeMap = scopeMap;
-               dojo._scopeMapRev = scopeMapRev;
-       }
-
-/*=====
-// note:
-//             'djConfig' does not exist under 'dojo.*' so that it can be set before the
-//             'dojo' variable exists.
-// note:
-//             Setting any of these variables *after* the library has loaded does
-//             nothing at all.
-
-djConfig = {
-       // summary:
-       //              Application code can set the global 'djConfig' prior to loading
-       //              the library to override certain global settings for how dojo works.
-       //
-       // isDebug: Boolean
-       //              Defaults to `false`. If set to `true`, ensures that Dojo provides
-       //              extended debugging feedback via Firebug. If Firebug is not available
-       //              on your platform, setting `isDebug` to `true` will force Dojo to
-       //              pull in (and display) the version of Firebug Lite which is
-       //              integrated into the Dojo distribution, thereby always providing a
-       //              debugging/logging console when `isDebug` is enabled. Note that
-       //              Firebug's `console.*` methods are ALWAYS defined by Dojo. If
-       //              `isDebug` is false and you are on a platform without Firebug, these
-       //              methods will be defined as no-ops.
-       isDebug: false,
-       // debugAtAllCosts: Boolean
-       //              Defaults to `false`. If set to `true`, this triggers an alternate
-       //              mode of the package system in which dependencies are detected and
-       //              only then are resources evaluated in dependency order via
-       //              `<script>` tag inclusion. This may double-request resources and
-       //              cause problems with scripts which expect `dojo.require()` to
-       //              preform synchronously. `debugAtAllCosts` can be an invaluable
-       //              debugging aid, but when using it, ensure that all code which
-       //              depends on Dojo modules is wrapped in `dojo.addOnLoad()` handlers.
-       //              Due to the somewhat unpredictable side-effects of using
-       //              `debugAtAllCosts`, it is strongly recommended that you enable this
-       //              flag as a last resort. `debugAtAllCosts` has no effect when loading
-       //              resources across domains. For usage information, see the
-       //              [Dojo Book](http://dojotoolkit.org/book/book-dojo/part-4-meta-dojo-making-your-dojo-code-run-faster-and-better/debugging-facilities/deb)
-       debugAtAllCosts: false,
-       // locale: String
-       //              The locale to assume for loading localized resources in this page,
-       //              specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt).
-       //              Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`.
-       //              See the documentation for `dojo.i18n` and `dojo.requireLocalization`
-       //              for details on loading localized resources. If no locale is specified,
-       //              Dojo assumes the locale of the user agent, according to `navigator.userLanguage`
-       //              or `navigator.language` properties.
-       locale: undefined,
-       // extraLocale: Array
-       //              No default value. Specifies additional locales whose
-       //              resources should also be loaded alongside the default locale when
-       //              calls to `dojo.requireLocalization()` are processed.
-       extraLocale: undefined,
-       // baseUrl: String
-       //              The directory in which `dojo.js` is located. Under normal
-       //              conditions, Dojo auto-detects the correct location from which it
-       //              was loaded. You may need to manually configure `baseUrl` in cases
-       //              where you have renamed `dojo.js` or in which `<base>` tags confuse
-       //              some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned
-       //              either the value of `djConfig.baseUrl` if one is provided or the
-       //              auto-detected root if not. Other modules are located relative to
-       //              this path. The path should end in a slash.
-       baseUrl: undefined,
-       // modulePaths: Object
-       //              A map of module names to paths relative to `dojo.baseUrl`. The
-       //              key/value pairs correspond directly to the arguments which
-       //              `dojo.registerModulePath` accepts. Specifiying
-       //              `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent
-       //              of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple
-       //              modules may be configured via `djConfig.modulePaths`.
-       modulePaths: {},
-       // afterOnLoad: Boolean 
-       //              Indicates Dojo was added to the page after the page load. In this case
-       //              Dojo will not wait for the page DOMContentLoad/load events and fire
-       //              its dojo.addOnLoad callbacks after making sure all outstanding
-       //              dojo.required modules have loaded. Only works with a built dojo.js,
-       //              it does not work the dojo.js directly from source control.
-       afterOnLoad: false,
-       // addOnLoad: Function or Array
-       //              Adds a callback via dojo.addOnLoad. Useful when Dojo is added after
-       //              the page loads and djConfig.afterOnLoad is true. Supports the same
-       //              arguments as dojo.addOnLoad. When using a function reference, use
-       //              `djConfig.addOnLoad = function(){};`. For object with function name use
-       //              `djConfig.addOnLoad = [myObject, "functionName"];` and for object with
-       //              function reference use
-       //              `djConfig.addOnLoad = [myObject, function(){}];`
-       addOnLoad: null,
-       // require: Array
-       //              An array of module names to be loaded immediately after dojo.js has been included
-       //              in a page.
-       require: [],
-       // defaultDuration: Array
-       //              Default duration, in milliseconds, for wipe and fade animations within dijits.
-       //              Assigned to dijit.defaultDuration.
-       defaultDuration: 200,
-       // dojoBlankHtmlUrl: String
-       //              Used by some modules to configure an empty iframe. Used by dojo.io.iframe and
-       //              dojo.back, and dijit popup support in IE where an iframe is needed to make sure native
-       //              controls do not bleed through the popups. Normally this configuration variable 
-       //              does not need to be set, except when using cross-domain/CDN Dojo builds.
-       //              Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl`
-       //              to the path on your domain your copy of blank.html.
-       dojoBlankHtmlUrl: undefined,
-       //      ioPublish: Boolean?
-       //              Set this to true to enable publishing of topics for the different phases of
-       //              IO operations. Publishing is done via dojo.publish. See dojo.__IoPublish for a list
-       //              of topics that are published.
-       ioPublish: false,
-       //  useCustomLogger: Anything?
-       //              If set to a value that evaluates to true such as a string or array and
-       //              isDebug is true and Firebug is not available or running, then it bypasses
-       //              the creation of Firebug Lite allowing you to define your own console object.
-       useCustomLogger: undefined,
-       // transparentColor: Array
-       //              Array containing the r, g, b components used as transparent color in dojo.Color;
-       //              if undefined, [255,255,255] (white) will be used.
-       transparentColor: undefined,
-       // skipIeDomLoaded: Boolean
-       //              For IE only, skip the DOMContentLoaded hack used. Sometimes it can cause an Operation
-       //              Aborted error if the rest of the page triggers script defers before the DOM is ready.
-       //              If this is config value is set to true, then dojo.addOnLoad callbacks will not be
-       //              triggered until the page load event, which is after images and iframes load. If you
-       //              want to trigger the callbacks sooner, you can put a script block in the bottom of
-       //              your HTML that calls dojo._loadInit();. If you are using multiversion support, change
-       //              "dojo." to the appropriate scope name for dojo.
-       skipIeDomLoaded: false
-}
-=====*/
-
-(function(){
-       // firebug stubs
-
-       if(typeof this["loadFirebugConsole"] == "function"){
-               // for Firebug 1.2
-               this["loadFirebugConsole"]();
-       }else{
-               this.console = this.console || {};
-
-               //      Be careful to leave 'log' always at the end
-               var cn = [
-                       "assert", "count", "debug", "dir", "dirxml", "error", "group",
-                       "groupEnd", "info", "profile", "profileEnd", "time", "timeEnd",
-                       "trace", "warn", "log"
-               ];
-               var i=0, tn;
-               while((tn=cn[i++])){
-                       if(!console[tn]){
-                               (function(){
-                                       var tcn = tn+"";
-                                       console[tcn] = ('log' in console) ? function(){
-                                               var a = Array.apply({}, arguments);
-                                               a.unshift(tcn+":");
-                                               console["log"](a.join(" "));
-                                       } : function(){}
-                                       console[tcn]._fake = true;
-                               })();
-                       }
-               }
-       }
-
-       //TODOC:  HOW TO DOC THIS?
-       // dojo is the root variable of (almost all) our public symbols -- make sure it is defined.
-       if(typeof dojo == "undefined"){
-               dojo = {
-                       _scopeName: "dojo",
-                       _scopePrefix: "",
-                       _scopePrefixArgs: "",
-                       _scopeSuffix: "",
-                       _scopeMap: {},
-                       _scopeMapRev: {}
-               };
-       }
-
-       var d = dojo;
-
-       //Need placeholders for dijit and dojox for scoping code.
-       if(typeof dijit == "undefined"){
-               dijit = {_scopeName: "dijit"};
-       }
-       if(typeof dojox == "undefined"){
-               dojox = {_scopeName: "dojox"};
-       }
-
-       if(!d._scopeArgs){
-               d._scopeArgs = [dojo, dijit, dojox];
-       }
-
-/*=====
-dojo.global = {
-       //      summary:
-       //              Alias for the global scope
-       //              (e.g. the window object in a browser).
-       //      description:
-       //              Refer to 'dojo.global' rather than referring to window to ensure your
-       //              code runs correctly in contexts other than web browsers (e.g. Rhino on a server).
-}
-=====*/
-       d.global = this;
-
-       d.config =/*===== djConfig = =====*/{
-               isDebug: false,
-               debugAtAllCosts: false
-       };
-
-       if(typeof djConfig != "undefined"){
-               for(var opt in djConfig){
-                       d.config[opt] = djConfig[opt];
-               }
-       }
-
-/*=====
-       // Override locale setting, if specified
-       dojo.locale = {
-               // summary: the locale as defined by Dojo (read-only)
-       };
-=====*/
-       dojo.locale = d.config.locale;
-
-       var rev = "$Rev: 20973 $".match(/\d+/);
-
-/*=====
-       dojo.version = function(){
-               // summary:
-               //              Version number of the Dojo Toolkit
-               // major: Integer
-               //              Major version. If total version is "1.2.0beta1", will be 1
-               // minor: Integer
-               //              Minor version. If total version is "1.2.0beta1", will be 2
-               // patch: Integer
-               //              Patch version. If total version is "1.2.0beta1", will be 0
-               // flag: String
-               //              Descriptor flag. If total version is "1.2.0beta1", will be "beta1"
-               // revision: Number
-               //              The SVN rev from which dojo was pulled
-               this.major = 0;
-               this.minor = 0;
-               this.patch = 0;
-               this.flag = "";
-               this.revision = 0;
-       }
-=====*/
-       dojo.version = {
-               major: 1, minor: 4, patch: 0, flag: "",
-               revision: rev ? +rev[0] : NaN,
-               toString: function(){
-                       with(d.version){
-                               return major + "." + minor + "." + patch + flag + " (" + revision + ")";        // String
-                       }
-               }
-       }
-
-               // Register with the OpenAjax hub
-       if(typeof OpenAjax != "undefined"){
-               OpenAjax.hub.registerLibrary(dojo._scopeName, "http://dojotoolkit.org", d.version.toString());
-       }
-       
-       var extraNames, extraLen, empty = {};
-       for(var i in {toString: 1}){ extraNames = []; break; }
-       dojo._extraNames = extraNames = extraNames || ["hasOwnProperty", "valueOf", "isPrototypeOf",
-               "propertyIsEnumerable", "toLocaleString", "toString", "constructor"];
-       extraLen = extraNames.length;
-
-       dojo._mixin = function(/*Object*/ target, /*Object*/ source){
-               // summary:
-               //              Adds all properties and methods of source to target. This addition
-               //              is "prototype extension safe", so that instances of objects
-               //              will not pass along prototype defaults.
-               var name, s, i;
-               for(name in source){
-                       // the "tobj" condition avoid copying properties in "source"
-                       // inherited from Object.prototype.  For example, if target has a custom
-                       // toString() method, don't overwrite it with the toString() method
-                       // that source inherited from Object.prototype
-                       s = source[name];
-                       if(!(name in target) || (target[name] !== s && (!(name in empty) || empty[name] !== s))){
-                               target[name] = s;
-                       }
-               }
-                               // IE doesn't recognize some custom functions in for..in
-               if(extraLen && source){
-                       for(i = 0; i < extraLen; ++i){
-                               name = extraNames[i];
-                               s = source[name];
-                               if(!(name in target) || (target[name] !== s && (!(name in empty) || empty[name] !== s))){
-                                       target[name] = s;
-                               }
-                       }
-               }
-                               return target; // Object
-       }
-
-       dojo.mixin = function(/*Object*/obj, /*Object...*/props){
-               // summary:
-               //              Adds all properties and methods of props to obj and returns the
-               //              (now modified) obj.
-               //      description:
-               //              `dojo.mixin` can mix multiple source objects into a
-               //              destination object which is then returned. Unlike regular
-               //              `for...in` iteration, `dojo.mixin` is also smart about avoiding
-               //              extensions which other toolkits may unwisely add to the root
-               //              object prototype
-               //      obj:
-               //              The object to mix properties into. Also the return value.
-               //      props:
-               //              One or more objects whose values are successively copied into
-               //              obj. If more than one of these objects contain the same value,
-               //              the one specified last in the function call will "win".
-               //      example:
-               //              make a shallow copy of an object
-               //      |       var copy = dojo.mixin({}, source);
-               //      example:
-               //              many class constructors often take an object which specifies
-               //              values to be configured on the object. In this case, it is
-               //              often simplest to call `dojo.mixin` on the `this` object:
-               //      |       dojo.declare("acme.Base", null, {
-               //      |               constructor: function(properties){
-               //      |                       // property configuration:
-               //      |                       dojo.mixin(this, properties);
-               //      |       
-               //      |                       console.log(this.quip);
-               //      |                       //  ...
-               //      |               },
-               //      |               quip: "I wasn't born yesterday, you know - I've seen movies.",
-               //      |               // ...
-               //      |       });
-               //      |
-               //      |       // create an instance of the class and configure it
-               //      |       var b = new acme.Base({quip: "That's what it does!" });
-               //      example:
-               //              copy in properties from multiple objects
-               //      |       var flattened = dojo.mixin(
-               //      |               {
-               //      |                       name: "Frylock",
-               //      |                       braces: true
-               //      |               },
-               //      |               {
-               //      |                       name: "Carl Brutanananadilewski"
-               //      |               }
-               //      |       );
-               //      |       
-               //      |       // will print "Carl Brutanananadilewski"
-               //      |       console.log(flattened.name);
-               //      |       // will print "true"
-               //      |       console.log(flattened.braces);
-               if(!obj){ obj = {}; }
-               for(var i=1, l=arguments.length; i<l; i++){
-                       d._mixin(obj, arguments[i]);
-               }
-               return obj; // Object
-       }
-
-       dojo._getProp = function(/*Array*/parts, /*Boolean*/create, /*Object*/context){
-               var obj=context || d.global;
-               for(var i=0, p; obj && (p=parts[i]); i++){
-                       if(i == 0 && d._scopeMap[p]){
-                               p = d._scopeMap[p];
-                       }
-                       obj = (p in obj ? obj[p] : (create ? obj[p]={} : undefined));
-               }
-               return obj; // mixed
-       }
-
-       dojo.setObject = function(/*String*/name, /*Object*/value, /*Object?*/context){
-               // summary:
-               //              Set a property from a dot-separated string, such as "A.B.C"
-               //      description:
-               //              Useful for longer api chains where you have to test each object in
-               //              the chain, or when you have an object reference in string format.
-               //              Objects are created as needed along `path`. Returns the passed
-               //              value if setting is successful or `undefined` if not.
-               //      name:
-               //              Path to a property, in the form "A.B.C".
-               //      context:
-               //              Optional. Object to use as root of path. Defaults to
-               //              `dojo.global`.
-               //      example:
-               //              set the value of `foo.bar.baz`, regardless of whether
-               //              intermediate objects already exist:
-               //      |       dojo.setObject("foo.bar.baz", value);
-               //      example:
-               //              without `dojo.setObject`, we often see code like this:
-               //      |       // ensure that intermediate objects are available
-               //      |       if(!obj["parent"]){ obj.parent = {}; }
-               //      |       if(!obj.parent["child"]){ obj.parent.child= {}; }
-               //      |       // now we can safely set the property
-               //      |       obj.parent.child.prop = "some value";
-               //              wheras with `dojo.setObject`, we can shorten that to:
-               //      |       dojo.setObject("parent.child.prop", "some value", obj);
-               var parts=name.split("."), p=parts.pop(), obj=d._getProp(parts, true, context);
-               return obj && p ? (obj[p]=value) : undefined; // Object
-       }
-
-       dojo.getObject = function(/*String*/name, /*Boolean?*/create, /*Object?*/context){
-               // summary:
-               //              Get a property from a dot-separated string, such as "A.B.C"
-               //      description:
-               //              Useful for longer api chains where you have to test each object in
-               //              the chain, or when you have an object reference in string format.
-               //      name:
-               //              Path to an property, in the form "A.B.C".
-               //      create:
-               //              Optional. Defaults to `false`. If `true`, Objects will be
-               //              created at any point along the 'path' that is undefined.
-               //      context:
-               //              Optional. Object to use as root of path. Defaults to
-               //              'dojo.global'. Null may be passed.
-               return d._getProp(name.split("."), create, context); // Object
-       }
-
-       dojo.exists = function(/*String*/name, /*Object?*/obj){
-               //      summary:
-               //              determine if an object supports a given method
-               //      description:
-               //              useful for longer api chains where you have to test each object in
-               //              the chain. Useful only for object and method detection.
-               //              Not useful for testing generic properties on an object.
-               //              In particular, dojo.exists("foo.bar") when foo.bar = ""
-               //              will return false. Use ("bar" in foo) to test for those cases.
-               //      name:
-               //              Path to an object, in the form "A.B.C".
-               //      obj:
-               //              Object to use as root of path. Defaults to
-               //              'dojo.global'. Null may be passed.
-               //      example:
-               //      |       // define an object
-               //      |       var foo = {
-               //      |               bar: { }
-               //   &nbs