Several fixes to Rico3.net.
authorMatt Brown <dowdybrown@yahoo.com>
Wed, 4 Jan 2012 03:06:49 +0000 (03:06 +0000)
committerMatt Brown <dowdybrown@yahoo.com>
Wed, 4 Jan 2012 03:06:49 +0000 (03:06 +0000)
git-svn-id: svn://svn.code.sf.net/p/openrico/code/trunk/rico3@97 53df2df2-7ab5-4331-af62-ea79255fa4e2

19 files changed:
bin/Rico.dll
bin/Rico.xml
examples/dotnet/tree1.aspx
examples/dotnet/widgets.aspx
examples/dotnet/widgetsRTL.aspx
examples/php/ex1.php
examples/php/index.html
examples/php/menu.html [deleted file]
examples/php/menu.php [new file with mode: 0644]
minsrc/rico.js
minsrc/ricoGridCommon.js
minsrc/ricoLiveGrid.js
minsrc/ricoLiveGridControls.js
minsrc/ricoLiveGridForms.js
minsrc/ricoTree.js
plugins/php/SimpleGrid.php
plugins/php/rico.php [new file with mode: 0644]
ricoClient/css/rico.css
ricoClient/js/rico_min.js

index 4dee26f..568c5d2 100644 (file)
Binary files a/bin/Rico.dll and b/bin/Rico.dll differ
index 4504cac..10d5a9c 100644 (file)
@@ -6,42 +6,24 @@ Rico
 </name>\r
 </assembly>\r
 <members>\r
-<member name="P:Rico.TreeResponse.ErrorMsg">\r
+<member name="M:Rico.TableCollection.IndexOf(System.String)">\r
        <summary>\r
- May contain the text of an error message that occurred outside this control prior to rendering\r
- </summary>\r
-       <value></value>\r
-       <returns></returns>\r
-       <remarks></remarks>\r
-</member><member name="P:Rico.TreeResponse.dbConnection">\r
-       <summary>\r
- Database connection object. Required only if sqlText is used.\r
+ Returns the index of the table with TblAlias or -1 if not found\r
  </summary>\r
-       <value></value>\r
-       <remarks></remarks>\r
-</member><member name="P:Rico.TreeResponse.SqlText">\r
+       <param name="TblAlias"></param>\r
+</member><member name="P:Rico.My.Resources.Resources.ResourceManager">\r
        <summary>\r
- Optional sql query to execute, must return 5 columns matching WriteTreeRow parameters \r
- </summary>\r
-       <value></value>\r
-       <returns></returns>\r
-       <remarks></remarks>\r
-</member><member name="M:Rico.TreeResponse.WriteTreeRow(System.Object,System.Object,System.Object,System.Object,System.Object)">\r
+  Returns the cached ResourceManager instance used by this class.\r
+</summary>\r
+</member><member name="P:Rico.My.Resources.Resources.Culture">\r
        <summary>\r
- Adds an entry that will be returned with the results. Often used to add the root node.\r
- </summary>\r
-       <param name="parentID">id of parent, "" if this is the root</param>\r
-       <param name="ID">id that uniquely identifies this node in the tree</param>\r
-       <param name="description">description displayed to the user</param>\r
-       <param name="containerORleaf">"L" or 0 = leaf, "C" or non-zero = container</param>\r
-       <param name="selectable">0=not selectable, 1=selectable</param>\r
-       <remarks></remarks>\r
-</member><member name="T:Rico.TreeResponse">\r
+  Overrides the current thread's CurrentUICulture property for all\r
+  resource lookups using this strongly typed resource class.\r
+</summary>\r
+</member><member name="T:Rico.My.Resources.Resources">\r
        <summary>\r
- Use this class on a page that responds to AJAX requests from a Rico Tree Control\r
- This class automatically disables caching of the response and sets the response type to text/xml\r
- </summary>\r
-       <remarks></remarks>\r
+  A strongly-typed resource class, for looking up localized strings, etc.\r
+</summary>\r
 </member><member name="T:Rico.sqlParse.sqlColumn">\r
        <summary>\r
  Represents a column in the select statement\r
@@ -142,942 +124,947 @@ Rico
  Holds a SQL select statement. Methods to load/parse a select statement from a string and to reassemble it in various ways.\r
  Does not handle union queries.\r
  </summary>\r
-</member><member name="P:Rico.SimpleCol.Width">\r
+</member><member name="F:Rico.LiveGridEdit.onFormOpen">\r
        <summary>\r
- Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth.\r
+ Javascript function to be called when the form opens to add or edit a record\r
  </summary>\r
-</member><member name="T:Rico.SimpleCol">\r
+</member><member name="F:Rico.LiveGridEdit.onFormClose">\r
        <summary>\r
- Defines a column in a SimpleGrid\r
+ Javascript function to be called when the add/edit form closes\r
  </summary>\r
-</member><member name="F:Rico.Column.canSort">\r
+</member><member name="F:Rico.LiveGridEdit.onFormSubmit">\r
        <summary>\r
- Is the user allowed to sort the column? Default is true.\r
+ Javascript function to be called when the add/edit form is submitted to the server\r
  </summary>\r
-</member><member name="F:Rico.Column.canDrag">\r
+</member><member name="F:Rico.LiveGridEdit.onSubmitResponse">\r
        <summary>\r
- Is the user allowed to drag a column value? Default is false.\r
+ Javascript function to be called when a response is received from the server after a form submittal\r
  </summary>\r
-</member><member name="F:Rico.Column.canFilter">\r
+</member><member name="E:Rico.LiveGridEdit.DbDelete">\r
        <summary>\r
Is the user allowed to filter the column? Default is true.\r
Event raised right before the database deletion takes place.\r
  </summary>\r
-</member><member name="F:Rico.Column.control">\r
+       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
+       <param name="WhereClause">Where clause that selects the record to be deleted.</param>\r
+</member><member name="E:Rico.LiveGridEdit.DbInsert">\r
        <summary>\r
- Javascript code to create a control object, which changes the way the column data is rendered.\r
- The disadvantage of using this approach is that the altered rendering does not get reflected in exports.\r
- A set of controls is defined in ricoLiveGridControls.js or the developer can create their own.\r
+ Event raised right before the database insertion takes place.\r
  </summary>\r
-</member><member name="F:Rico.Column.filterUI">\r
+       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
+       <param name="Data">Hashtable containing the data to be inserted. Key is the column name. Value is the quoted data to be written. Changing the contents of the hash does NOT change what is written to the database.</param>\r
+</member><member name="E:Rico.LiveGridEdit.DbUpdate">\r
        <summary>\r
- If the AutoFilter option is enabled for the grid, then filterUI will control how each column is filtered. If filterUI is:\r
- <list type="bullet">\r
-                       <item><description>null or omitted, then no filter is displayed for the column.</description></item>\r
-                       <item><description>'t' - will generate a text box filter and the records being displayed are filtered as the user types. May be followed by a number to indicate the size of the text box (default size is 10). </description></item>\r
-                       <item><description>'s' - will generate a select list filter with all possible column values contained in the list. Populated using a 'select distinct' query if the grid's source is a SQL query.</description></item>\r
-                       <item><description>'m' - will generate multi-select checklist filter, with a checkbox next to each item.</description></item>\r
-               </list>\r
-       </summary>\r
-</member><member name="F:Rico.Column.filterColId">\r
+ Event raised right before the database update takes place.\r
+ </summary>\r
+       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
+       <param name="Data">Hashtable containing the data to be updated. Key is the column name. Value is the quoted data to be written. Changing the contents of the hash does NOT change what is written to the database.</param>\r
+       <param name="WhereClause">Where clause that selects the record to be updated.</param>\r
+</member><member name="M:Rico.LiveGridEdit.TableKeyWhereClause(System.Int32)">\r
        <summary>\r
- This setting allows the filterUI to filter a different column than where it is displayed.\r
- This is particularly useful for dates, where you can show a year selection on an OrderDate date column for example,\r
- but actually have it filter a hidden column OrderYear=year(OrderDate).\r
+ Returns where clause based on table's primary key\r
  </summary>\r
-</member><member name="F:Rico.Column.ConfirmDeleteColumn">\r
+       <param name="TabIdx"></param>\r
+</member><member name="F:Rico.LiveGridBase.dbConnection">\r
        <summary>\r
- The text content of this column will be included in delete confirmation messages.\r
+ Database connection object (used when data source is a SQL query)\r
  </summary>\r
-</member><member name="F:Rico.Column.multiplier">\r
+</member><member name="F:Rico.LiveGridBase.canSortDefault">\r
        <summary>\r
- If column is a number, this value can be used to multiply the database value by a factor before displaying it in the grid.\r
Default is 1. Automatically set to 100 if DataType is percent.\r
+ Controls whether columns can be sorted (default: true). \r
Sorting can be disabled for individual columns using the canSort property.\r
  </summary>\r
-</member><member name="F:Rico.Column.decPlaces">\r
+</member><member name="F:Rico.LiveGridBase.canHideDefault">\r
        <summary>\r
- If column is a number, this is the number of digits displayed to the right of the decimal point. Default is 0.\r
If DataType is dollar or euro, then decPlaces is automatically set to 2.\r
+ Controls whether columns can be hidden/shown (default: true). \r
Hide/show can be disabled for individual columns using the canHide property.\r
  </summary>\r
-</member><member name="F:Rico.Column.thouSep">\r
+</member><member name="F:Rico.LiveGridBase.canFilterDefault">\r
        <summary>\r
- If column is a number, display the value with a thousands separator? Default is true.\r
+ Controls whether columns can be filtered (default: true). \r
+ Filtering can be disabled for individual columns using the canFilter property.\r
  </summary>\r
-</member><member name="F:Rico.Column.negSign">\r
+</member><member name="F:Rico.LiveGridBase.highlightElem">\r
        <summary>\r
- Specifies how negative numbers should be displayed. Possible values:\r
- <list>\r
-                       <item><description>L=leading minus (default)</description></item>\r
-                       <item><description>T=trailing minus</description></item>\r
-                       <item><description>P=parentheses</description></item>\r
+ A string that specifies what gets highlighted/selected in the grid\r
+ <list type="table">\r
+                       <item><term>cursorRow</term><description>the grid row under the cursor</description></item>\r
+                       <item><term>cursorCell</term><description>the grid cell under the cursor</description></item>\r
+                       <item><term>menuRow</term><description>the grid row where the menu is displayed (default)</description></item>\r
+                       <item><term>menuCell</term><description>the grid cell where the menu is displayed</description></item>\r
+                       <item><term>selection</term><description>allow the user to select cells</description></item>\r
+                       <item><term>none</term><description>never highlight</description></item>\r
                </list>\r
        </summary>\r
-</member><member name="F:Rico.Column.prefix">\r
+</member><member name="F:Rico.LiveGridBase.highlightMethod">\r
        <summary>\r
- If column is a number, this string is prepended to the number before display.\r
- Useful for currency symbols.\r
+ Method used to highlight cells and rows.\r
+ <list type="table">\r
+                       <item><term>outline</term><description>least CPU-intensive on client-side</description></item>\r
+                       <item><term>class</term><description>adds CSS class to highlighted cell/row (default)</description></item>\r
+                       <item><term>both</term><description>highlight using both outline and class</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="F:Rico.LiveGridBase.prefetchBuffer">\r
+       <summary>\r
+ Load the buffer (and therefore the grid) on page load? (default: true)\r
  </summary>\r
-</member><member name="F:Rico.Column.suffix">\r
+</member><member name="F:Rico.LiveGridBase.DisplayTimer">\r
        <summary>\r
- If column is a number, this string is appended to the number before display.\r
- Useful for percentages and temperature values. Automatically set to % if DataType is percent.\r
+ Display the session timer above the grid? (default: true)\r
  </summary>\r
-</member><member name="F:Rico.Column.HdgStyleID">\r
+</member><member name="F:Rico.LiveGridBase.DisplayBookmark">\r
        <summary>\r
- Used to give the column heading a specific style.\r
- In most cases this is not necessary, as the heading will be styled according to the theme.\r
+ Display the grid bookmark, ie. "Listing records X - Y of Z" (default: true)\r
  </summary>\r
-</member><member name="F:Rico.Column.isNullable">\r
+</member><member name="F:Rico.LiveGridBase.Caption">\r
        <summary>\r
Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
A caption for the grid, displayed next to the bookmark (default: nothing)\r
  </summary>\r
-</member><member name="F:Rico.Column.Writeable">\r
+</member><member name="F:Rico.LiveGridBase.click">\r
        <summary>\r
- Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
+ Javascript event handler called when the user left-clicks on a cell\r
  </summary>\r
-</member><member name="F:Rico.Column.isKey">\r
+</member><member name="F:Rico.LiveGridBase.dblclick">\r
        <summary>\r
- Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
+ Javascript event handler called when the user double-clicks on a cell\r
  </summary>\r
-</member><member name="F:Rico.Column.Length">\r
+</member><member name="F:Rico.LiveGridBase.contextmenu">\r
        <summary>\r
- Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
+ Javascript event handler called when the user right-clicks on a cell\r
  </summary>\r
-</member><member name="F:Rico.Column.TypeName">\r
+</member><member name="F:Rico.LiveGridBase.beforeInit">\r
        <summary>\r
- Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
+ A Javascript function to be called right before the grid is initialized.\r
  </summary>\r
-</member><member name="F:Rico.Column.ColGroupIdx">\r
+</member><member name="F:Rico.LiveGridBase.afterInit">\r
        <summary>\r
- For internal use\r
+ A Javascript function to be called right after the grid is initialized.\r
  </summary>\r
-</member><member name="P:Rico.Column.Heading">\r
+</member><member name="F:Rico.LiveGridBase.TableFilter">\r
        <summary>\r
Text displayed in the column heading.\r
For SQL data sources, this specifies a SQL condition clause to always be used when running the SQL query.\r
  </summary>\r
-</member><member name="P:Rico.Column.Width">\r
+</member><member name="F:Rico.LiveGridBase.saveColumnWidth">\r
        <summary>\r
- Initial width of the column in pixels. Default is to use LiveGrid.defaultWidth.\r
+ Whenever the user adjusts a column width, should the new width be saved to the grid's cookie? (default: true)\r
  </summary>\r
-</member><member name="M:Rico.Column.NumberFormat">\r
+</member><member name="F:Rico.LiveGridBase.saveColumnFilter">\r
        <summary>\r
- Returns an Excel-type number format string based on decPlaces, thouSep, prefix.\r
+ Whenever the user filters a column, should the new filter be saved to the grid's cookie? (default: false)\r
  </summary>\r
-</member><member name="P:Rico.Column.DataType">\r
+</member><member name="F:Rico.LiveGridBase.saveColumnSort">\r
        <summary>\r
- Type of data stored in the column.\r
+ Whenever the user sorts a column, should the new sort be saved to the grid's cookie? (default: false)\r
  </summary>\r
-</member><member name="M:Rico.Column.script">\r
+</member><member name="F:Rico.LiveGridBase.cookieDays">\r
        <summary>\r
- Internal function that returns the LiveGrid column options object, used to initialize the column on the client.\r
+ Number of days before the grid's cookie expires. If you don't specify a value, \r
+ then the cookie is only maintained for the current session.\r
  </summary>\r
-</member><member name="T:Rico.Column">\r
+</member><member name="F:Rico.LiveGridBase.DefaultSort">\r
        <summary>\r
- Base class for a LiveGrid column\r
+ For SQL data sources, this specifies the default way the data should be sorted. (default: use primary key)\r
  </summary>\r
-</member><member name="F:Rico.FormulaCol.Formula">\r
+</member><member name="F:Rico.LiveGridBase.maxPrint">\r
        <summary>\r
- SQL expression\r
+ The maximum number of rows that the user is allowed to Print/Export. Set to 0 to disable print/export.\r
+ Default is to use the Rico client value (currently 5000).\r
  </summary>\r
-</member><member name="T:Rico.FormulaCol">\r
+</member><member name="F:Rico.LiveGridBase.dndMgrIdx">\r
        <summary>\r
- Calculated Column\r
+ Specifies which drag-and-drop management zone should be used for drag operations (default: 0). \r
+ This only needs to be specified if the web page uses multiple distinct zones.\r
  </summary>\r
-</member><member name="F:Rico.TableCol.ColName">\r
+</member><member name="F:Rico.LiveGridBase.sessions">\r
        <summary>\r
- Column name in table or view\r
+ For SQL data sources, should the parsed query be stored in a session variable? This improves performance. (default: true)\r
  </summary>\r
-</member><member name="F:Rico.TableCol.TblAlias">\r
+</member><member name="F:Rico.LiveGridBase.minPageRows">\r
        <summary>\r
- This should match the TblAlias of one of the Table objects specified for the grid.\r
- If unspecified, the primary table or view is assumed.\r
+ Minimum # of visible rows. Used only when visibleRows &lt; 0. (default: 2)\r
  </summary>\r
-</member><member name="F:Rico.TableCol.TableIdx">\r
+</member><member name="F:Rico.LiveGridBase.maxPageRows">\r
        <summary>\r
- Used internally\r
+ Maximum # of visible rows. Used only when visibleRows &lt; 0. (default: 50)\r
  </summary>\r
-</member><member name="T:Rico.TableCol">\r
+</member><member name="F:Rico.LiveGridBase.ColGroupsOnTabHdr">\r
        <summary>\r
- Column from table or view\r
+ Set to 'true' for ColumnGroup labels to be used as secondary headings. \r
+ In LiveGrid Edit, it may be set to 'false' so that ColumnGroup labels are only used on the input form.\r
+ Default: true.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.pattern">\r
+</member><member name="F:Rico.LiveGridBase.sendDebugMsgs">\r
        <summary>\r
- Regular expression used to validate the user input. User entries will be checked to ensure they match the pattern specified. \r
- There are a few special values:\r
- <list type="table">\r
-                       <item><term>email</term><description>tests for a valid email address</description></item>\r
-                       <item><term>float-unsigned</term><description>tests for a valid unsigned floating point (real) number</description></item>\r
-                       <item><term>float-signed</term><description>tests for a valid signed floating point (real) number (this is the default when EntryType is "F")</description></item>\r
-                       <item><term>int-unsigned</term><description>tests for a valid unsigned integer number</description></item>\r
-                       <item><term>int-signed</term><description>tests for a valid signed integer number (this is the default when EntryType is "I")</description></item>\r
-               </list>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.min">\r
+ Send details of sql parsing/execution in ajax response? (true/false)\r
+ Default is to follow the debug value in web.config\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.LogSqlOnError">\r
        <summary>\r
- Sets the minimum allowable value in a numeric or date field.\r
- For dates, the value should be in ISO-8601 format.\r
+ Include sql statement in results if an error occurs (true/false)\r
+ Default is to follow the debug value in web.config\r
  </summary>\r
-</member><member name="F:Rico.EditCol.max">\r
+</member><member name="F:Rico.LiveGridBase.fmt">\r
        <summary>\r
- Sets the maximum allowable value in a numeric or date field.\r
- For dates, the value should be in ISO-8601 format.\r
+ Format of data returned by AJAX calls, either "xml" or "json" (defaul: xml).\r
  </summary>\r
-</member><member name="F:Rico.EditCol.Help">\r
+</member><member name="F:Rico.LiveGridBase.largeBufferSize">\r
        <summary>\r
- Provides information to help the user understand the meaning of the field.\r
- Fields with help text will be display with a blue "i" icon next to the field name.\r
- When the user hovers their cursor over the icon, the help text will be displayed.\r
- </summary>\r
-</member><member name="F:Rico.EditCol.TxtAreaRows">\r
-       <summary>\r
- For columns with entry type "TA", this is # of rows to display in the textarea when in form view (default 4)\r
- </summary>\r
-</member><member name="F:Rico.EditCol.TxtAreaCols">\r
-       <summary>\r
- For columns with entry type "TA", this is # of columns to display in the textarea when in form view (default 80)\r
+ This property influences the size of the client buffer and AJAX fetch size.\r
+ Default value is -1, which means use the Rico client default value.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.ColData">\r
+</member><member name="F:Rico.LiveGridBase.requestParameters">\r
        <summary>\r
- column's default value in the form view\r
+ Optional parameters to be passed along during the AJAX call\r
  </summary>\r
-</member><member name="F:Rico.EditCol.SelectSql">\r
-       <summary>\r
- Specifies the SQL select statement to use for EntryTypes of SL, CL, and RL. \r
- The select statement should return 2 columns: the first being the code and the second being the text value/description. \r
- For example:\r
- <code>\r
- EntryType="SL" ColName="CustID" SelectSql="select ID,Name from Customers"\r
- </code>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.SelectCtl">\r
+</member><member name="P:Rico.LiveGridBase.formVar">\r
        <summary>\r
- For entry type "CL", this property specifies the id of the custom control.\r
+ Name of the Javascript variable containing the LiveGrid Edit object\r
  </summary>\r
-</member><member name="F:Rico.EditCol.SelectFilter">\r
-       <summary>\r
- SelectSql serves 2 purposes. First, it is used to retrieve the appropriate data to display in the grid. \r
- Second, it is used to populate the values in the select box (SL) or radio buttons (RL) on the pop-up form. \r
- In some cases, you may want these to be different. In the SelectSql example above, we are retrieving customer name. \r
- But let's say that our Customers table has a "CreditHold" field and we want to disable the selection of customers \r
- on credit hold in the form view, but still display them in the grid. \r
- This is where SelectFilter comes in:\r
- <code>\r
- SelectFilter="CreditHold='NO'"\r
- </code>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.SelectValues">\r
-       <summary>\r
- Specifies the choices the user sees in form view for EntryTypes of N, S, and R. \r
- If supplied, then this should be a string of comma-separated values. \r
- For example:\r
- <code>\r
- SelectValues="Y,N"\r
- </code>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.SelectRows">\r
+</member><member name="P:Rico.LiveGridBase.bufferVar">\r
        <summary>\r
- Specifies the number of rows to display in drop down select boxes for entry types S and SL.\r
- Default is to let the browser decide.\r
+ Name of the Javascript variable containing the LiveGrid buffer object\r
  </summary>\r
-</member><member name="F:Rico.EditCol.FilterFlag">\r
+</member><member name="P:Rico.LiveGridBase.bufferOptVar">\r
        <summary>\r
- If true, then the grid is filtered by the default value (ColData) for this column (default=false)\r
+ Name of the Javascript variable containing the initial LiveGrid buffer options\r
  </summary>\r
-</member><member name="F:Rico.EditCol.InsertOnly">\r
+</member><member name="F:Rico.LiveGridBase.SqlCompat">\r
        <summary>\r
If true, then only write this field to the database when peforming an insert (default=false).\r
Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.UpdateOnly">\r
+</member><member name="P:Rico.LiveGridBase.dbDialect">\r
        <summary>\r
If true, then only write this field to the database when peforming an update (default=false).\r
When connecting to SQL databases, this is the SQL dialect to use.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.ReadOnly">\r
+</member><member name="P:Rico.LiveGridBase.dataProvider">\r
        <summary>\r
- If true, data is displayed on the entry form but cannot be changed, text is gray (default=false). \r
- Does not apply to entry types of S, SL, N, R, RL -- use FormView="hidden" instead.\r
+ When using a SQL data source there is no need to set this property, \r
+ as AJAX data fetches are sent back to the originating script by default.\r
+ When setting this property to a URL, make sure the URL is enclosed in single quotes.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.FormView">\r
+</member><member name="P:Rico.LiveGridBase.rows">\r
        <summary>\r
-               <list type="table">\r
-                       <item><term>True</term><description>Item is shown on the entry form (default)</description></item>\r
-                       <item><term>False</term><description>Item is not shown on the form</description></item>\r
+ Number of visible rows in the grid.\r
+ Negative values have the following meanings:\r
+ <list type="bullet">\r
+                       <item><description>-1: size grid to client window</description></item>\r
+                       <item><description>-2: size grid to whichever is smaller: the client window or the data</description></item>\r
+                       <item><description>-3: size grid so that the page body does not have a scrollbar (default)</description></item>\r
+                       <item><description>-4: size grid to its parent node in the DOM</description></item>\r
                </list>\r
        </summary>\r
-</member><member name="F:Rico.EditCol.AddQuotes">\r
+</member><member name="F:Rico.LiveGridBase.ColGroups">\r
        <summary>\r
- When false, the column value will be left unquoted when inserting or updating the database. \r
- Default is false for entry type TS, and true for all other entry types.\r
- This makes it possible to populate columns with SQL function calls. \r
- For example:\r
- <code>\r
- ColName="LastEditUser" EntryType="H" AddQuotes="false" ColData="suser_sname()"\r
- </code>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.MultiSelect">\r
+ Collection of ColumnGroup objects, which define the headings used above each group of columns.\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.Tables">\r
        <summary>\r
- If true, the user is allowed to select multiple values.\r
- For entry types R and RL, this changes the input from radio buttons to checkboxes.\r
- Default is false.\r
+ Defines the tables used by the LiveGrid. The first table is primary/main table.\r
  </summary>\r
-</member><member name="F:Rico.EditCol.DescriptionCol">\r
+</member><member name="M:Rico.LiveGridBase.ColClassName(System.Int32)">\r
        <summary>\r
- Normally RL and SL columns are used for foreign keys, and only the key is stored in the table, not the foreign key's associated\r
- name or description. However, by specifying a value for DescriptionCol, you can store the associated description as well.\r
- <code>\r
- EntryType="SL" ColName="CustID" DescriptionCol="CustName" SelectSql="select ID,Name from Customers"\r
- </code>\r
-       </summary>\r
-</member><member name="F:Rico.EditCol.DescriptionField">\r
+ Returns the class name of the specified grid column\r
+ </summary>\r
+       <param name="colnum"></param>\r
+</member><member name="M:Rico.LiveGridBase.AddColumn(Rico.Column)">\r
        <summary>\r
- Used internally. Populates automatically based on DescriptionCol.\r
+ Adds a new column to grid, returns column index\r
  </summary>\r
-</member><member name="F:Rico.EditCol.noFormBreak">\r
+       <param name="ColumnObj"></param>\r
+</member><member name="M:Rico.LiveGridBase.escapeJSON(System.String)">\r
        <summary>\r
- Boolean value that when true, specifies that this entry field should placed on the same form row as the last field \r
- (default: false - each form field is placed on a separate row).\r
+ Takes a given string and makes it JSON valid (http://json.org/)\r
  </summary>\r
-</member><member name="M:Rico.EditCol.isLookupField">\r
+       <param name="val">value which should be escaped</param>\r
+       <returns>JSON valid string</returns>\r
+       <remarks>\r
+ AUTHOR: Michael Rebec\r
+ All characters which needs to be escaped are beeing replaced by their\r
+ unicode representation according to the\r
+ RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627\r
+ </remarks>\r
+</member><member name="T:Rico.LiveGridBase">\r
        <summary>\r
- Returns true if the column is a lookup field (entry type SL, RL, or CL)\r
+ Methods and properties common to LiveGrid and LiveGridEdit\r
  </summary>\r
-</member><member name="P:Rico.EditCol.EntryType">\r
+</member><member name="P:Rico.LiveGrid.BufferType">\r
        <summary>\r
- Code indicating the ui to be used for data entry\r
+ The type of buffer deployed on the client\r
  <list type="table">\r
-                       <item><term>TA</term><description>Text Area</description></item>\r
-                       <item><term>R</term><description>Radio button list</description></item>\r
-                       <item><term>RL</term><description>Radio buttons via lookup (field is a foreign key)</description></item>\r
-                       <item><term>S</term><description>Select list</description></item>\r
-                       <item><term>SL</term><description>Select list via lookup (field is a foreign key)</description></item>\r
-                       <item><term>CL</term><description>Custom widget via lookup (field is a foreign key)</description></item>\r
-                       <item><term>N</term><description>Select list of distinct column values, use allowed to add new values</description></item>\r
-                       <item><term>B</term><description>Text, non-blank</description></item>\r
-                       <item><term>T</term><description>Text</description></item>\r
-                       <item><term>I</term><description>Integer</description></item>\r
-                       <item><term>F</term><description>Floating point number</description></item>\r
-                       <item><term>tinyMCE</term><description>Rich text via tinyMCE</description></item>\r
-                       <item><term>D</term><description>Date</description></item>\r
-                       <item><term>TS</term><description>Time stamp</description></item>\r
-                       <item><term>H</term><description>Hidden</description></item>\r
+                       <item><term>AjaxSQL</term><description>data source is a SQL database query</description></item>\r
+                       <item><term>AjaxLoadOnce</term><description>data is loaded all at one time from a remote source, such as an XML or JSON file</description></item>\r
+                       <item><term>Base</term><description>data is static, loaded from either an html table or javascript array</description></item>\r
                </list>\r
        </summary>\r
-</member><member name="T:Rico.EditCol">\r
+</member><member name="P:Rico.LiveGrid.HtmlSourceId">\r
        <summary>\r
- Defines an editable column in a LiveGridEdit object\r
+ If grid is populated from an html table, then set HtmlSourceId to the id of the source table\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.dbConnection">\r
+</member><member name="P:Rico.LiveGrid.QueryDistinct">\r
        <summary>\r
Database connection object (used when data source is a SQL query)\r
True if this should be a distinct sql query (default is false)\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.canSortDefault">\r
+</member><member name="T:Rico.LiveGrid">\r
        <summary>\r
- Controls whether columns can be sorted (default: true). \r
- Sorting can be disabled for individual columns using the canSort property.\r
+ Class to define a LiveGrid\r
+ A LiveGrid buffers its data in a Javascript array and can retrieve that data via AJAX\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.canHideDefault">\r
+</member><member name="P:Rico.TreeResponse.ErrorMsg">\r
        <summary>\r
- Controls whether columns can be hidden/shown (default: true). \r
- Hide/show can be disabled for individual columns using the canHide property.\r
+ May contain the text of an error message that occurred outside this control prior to rendering\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.canFilterDefault">\r
+</member><member name="P:Rico.TreeResponse.dbConnection">\r
        <summary>\r
- Controls whether columns can be filtered (default: true). \r
- Filtering can be disabled for individual columns using the canFilter property.\r
+ Database connection object. Required only if sqlText is used.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.highlightElem">\r
-       <summary>\r
- A string that specifies what gets highlighted/selected in the grid\r
- <list type="table">\r
-                       <item><term>cursorRow</term><description>the grid row under the cursor</description></item>\r
-                       <item><term>cursorCell</term><description>the grid cell under the cursor</description></item>\r
-                       <item><term>menuRow</term><description>the grid row where the menu is displayed (default)</description></item>\r
-                       <item><term>menuCell</term><description>the grid cell where the menu is displayed</description></item>\r
-                       <item><term>selection</term><description>allow the user to select cells</description></item>\r
-                       <item><term>none</term><description>never highlight</description></item>\r
-               </list>\r
-       </summary>\r
-</member><member name="F:Rico.LiveGridBase.highlightMethod">\r
-       <summary>\r
- Method used to highlight cells and rows.\r
- <list type="table">\r
-                       <item><term>outline</term><description>least CPU-intensive on client-side</description></item>\r
-                       <item><term>class</term><description>adds CSS class to highlighted cell/row (default)</description></item>\r
-                       <item><term>both</term><description>highlight using both outline and class</description></item>\r
-               </list>\r
-       </summary>\r
-</member><member name="F:Rico.LiveGridBase.prefetchBuffer">\r
+</member><member name="P:Rico.TreeResponse.SqlText">\r
        <summary>\r
- Load the buffer (and therefore the grid) on page load? (default: true)\r
+ Optional sql query to execute, must return 5 columns matching WriteTreeRow parameters \r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.DisplayTimer">\r
+</member><member name="M:Rico.TreeResponse.WriteTreeRow(System.Object,System.Object,System.Object,System.Object,System.Object)">\r
        <summary>\r
- Display the session timer above the grid? (default: true)\r
+ Adds an entry that will be returned with the results. Often used to add the root node.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.DisplayBookmark">\r
+       <param name="parentID">id of parent, "" if this is the root</param>\r
+       <param name="ID">id that uniquely identifies this node in the tree</param>\r
+       <param name="description">description displayed to the user</param>\r
+       <param name="containerORleaf">"L" or 0 = leaf, "C" or non-zero = container</param>\r
+       <param name="selectable">0=not selectable, 1=selectable</param>\r
+</member><member name="T:Rico.TreeResponse">\r
        <summary>\r
- Display the grid bookmark, ie. "Listing records X - Y of Z" (default: true)\r
+ Use this class on a page that responds to AJAX requests from a Rico Tree Control\r
+ This class automatically disables caching of the response and sets the response type to text/xml\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.Caption">\r
+</member><member name="P:Rico.GridBase.gridVar">\r
        <summary>\r
- A caption for the grid, displayed next to the bookmark (default: nothing)\r
+ Name of grid Javascript object\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.click">\r
+</member><member name="P:Rico.GridBase.optionsVar">\r
        <summary>\r
- Javascript event handler called when the user left-clicks on a cell\r
+ Name of grid options Javascript object\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.dblclick">\r
+</member><member name="F:Rico.GridBase.AutoFilter">\r
        <summary>\r
- Javascript event handler called when the user double-clicks on a cell\r
+ If enabled, an additional row is added to the grid header where column filters are placed. \r
+ See the EditCol.filterUI property to customize each column's filter.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.contextmenu">\r
+</member><member name="F:Rico.GridBase.FilterAllToken">\r
        <summary>\r
- Javascript event handler called when the user right-clicks on a cell\r
+ The token in select filters used to indicate "show all values" (default: "___ALL___").\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.beforeInit">\r
+</member><member name="F:Rico.GridBase.defaultWidth">\r
        <summary>\r
- A Javascript function to be called right before the grid is initialized.\r
+ if -1 (default), then use column heading width, otherwise this is the default width in pixels\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.afterInit">\r
+</member><member name="F:Rico.GridBase.allowColResize">\r
        <summary>\r
- A Javascript function to be called right after the grid is initialized.\r
+ Allow user to resize columns? Default is true.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.TableFilter">\r
+</member><member name="F:Rico.GridBase.frozenColumns">\r
        <summary>\r
For SQL data sources, this specifies a SQL condition clause to always be used when running the SQL query.\r
Number of frozen columns on the left (or right if direction=rtl). Default is 0.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.saveColumnWidth">\r
+</member><member name="F:Rico.GridBase.RowLineHtEms">\r
        <summary>\r
- Whenever the user adjusts a column width, should the new width be saved to the grid's cookie? (default: true)\r
+ Height of one line of text in ems. Default is 1.2, which should be fine for almost all situations.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.saveColumnFilter">\r
+</member><member name="F:Rico.GridBase.windowResize">\r
        <summary>\r
- Whenever the user filters a column, should the new filter be saved to the grid's cookie? (default: false)\r
+ Resize grid when browser window is resized? Default is true.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.saveColumnSort">\r
+</member><member name="P:Rico.GridBase.menuEvent">\r
        <summary>\r
- Whenever the user sorts a column, should the new sort be saved to the grid's cookie? (default: false)\r
+ Specifies when the grid's popup menu should be invoked \r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.cookieDays">\r
+</member><member name="P:Rico.GridBase.DefaultHdgStyle">\r
        <summary>\r
- Number of days before the grid's cookie expires. If you don't specify a value, \r
- then the cookie is only maintained for the current session.\r
+ This holds the default style for headings. Use only if not using themes.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.DefaultSort">\r
+</member><member name="F:Rico.GridBase.Styles">\r
        <summary>\r
- For SQL data sources, this specifies the default way the data should be sorted. (default: use primary key)\r
+ Collection of styles used for individual headings.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.maxPrint">\r
+</member><member name="P:Rico.GridBase.HdgRowLines">\r
        <summary>\r
- The maximum number of rows that the user is allowed to Print/Export. Set to 0 to disable print/export.\r
- Default is to use the Rico client value (currently 5000).\r
+ Lines of text displayed in each heading row\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.dndMgrIdx">\r
+</member><member name="P:Rico.GridBase.DefaultRowLines">\r
        <summary>\r
- Specifies which drag-and-drop management zone should be used for drag operations (default: 0). \r
- This only needs to be specified if the web page uses multiple distinct zones.\r
+ Lines of text displayed in each data row\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.sessions">\r
+</member><member name="P:Rico.GridBase.OuterDivId">\r
        <summary>\r
- For SQL data sources, should the parsed query be stored in a session variable? This improves performance. (default: true)\r
+ Returns the id of the outermost grid container\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.minPageRows">\r
+</member><member name="M:Rico.GridBase.GetColumnIdx(System.String)">\r
        <summary>\r
- Minimum # of visible rows. Used only when visibleRows &lt; 0. (default: 2)\r
+ Returns the index of the column with the given id\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.maxPageRows">\r
+</member><member name="M:Rico.GridBase.GetColumn(System.String)">\r
        <summary>\r
- Maximum # of visible rows. Used only when visibleRows &lt; 0. (default: 50)\r
+ Returns the column object with the given id\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.ColGroupsOnTabHdr">\r
+</member><member name="M:Rico.GridBase.GridRules">\r
        <summary>\r
- Set to 'true' for ColumnGroup labels to be used as secondary headings. \r
- In LiveGrid Edit, it may be set to 'false' so that ColumnGroup labels are only used on the input form.\r
- Default: true.\r
+ Returns the set of css rules that apply to this grid\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.sendDebugMsgs">\r
+</member><member name="T:Rico.GridBase">\r
        <summary>\r
- Send details of sql parsing/execution in ajax response? (true/false)\r
- Default is to follow the debug value in web.config\r
+ This class defines properties and functions used in SimpleGrid, LiveGrid and LiveGridEdit classes.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.LogSqlOnError">\r
+</member><member name="F:Rico.LoadClient.ImgHeading">\r
        <summary>\r
- Include sql statement in results if an error occurs (true/false)\r
- Default is to follow the debug value in web.config\r
+ Background image for grid headings and window titles.\r
+ Should be left unset, as it is used only for the grayedout theme (in which case it is set automatically).\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.fmt">\r
+</member><member name="F:Rico.LoadClient.BaseLib">\r
        <summary>\r
- Format of data returned by AJAX calls, either "xml" or "json" (defaul: xml).\r
+ The base Javascript library to load from http://ajax.googleapis.com/ajax/libs/, possible values include:\r
+ <list type="bullet">\r
+                       <item><description>prototype/1.6/prototype.js</description></item>\r
+                       <item><description>prototype/1.7/prototype.js</description></item>\r
+                       <item><description>jquery/1.3/jquery.min.js</description></item>\r
+                       <item><description>jquery/1.4/jquery.min.js</description></item>\r
+                       <item><description>jquery/1.5/jquery.min.js</description></item>\r
+                       <item><description>jquery/1.6/jquery.min.js</description></item>\r
+                       <item><description>mootools/1.2/mootools-yui-compressed.js</description></item>\r
+                       <item><description>mootools/1.3/mootools-yui-compressed.js</description></item>\r
+                       <item><description>dojo/1.5/dojo/dojo.xd.js</description></item>\r
+                       <item><description>dojo/1.6/dojo/dojo.xd.js</description></item>\r
+                       <item><description>ext-core/3.0/ext-core.js</description></item>\r
+                       <item><description>ext-core/3.1/ext-core.js</description></item>\r
+               </list>\r
+               <para>Default value is "proto_min", which loads prototype 1.7 from the server control.</para>\r
+       </summary>\r
+</member><member name="F:Rico.LoadClient.Logging">\r
+       <summary>\r
+ Enable Javascript console logging? Useful for debugging. Default is false.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.largeBufferSize">\r
+</member><member name="F:Rico.LoadClient.HTML5">\r
        <summary>\r
- This property influences the size of the client buffer and AJAX fetch size.\r
- Default value is -1, which means use the Rico client default value.\r
+ Enable HTML5 web form elements in browsers that support them. \r
+ Default is false because the quality of the HTML5 web form elements is uneven across browsers.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.requestParameters">\r
+</member><member name="F:Rico.LoadClient.Language">\r
        <summary>\r
- Optional parameters to be passed along during the AJAX call\r
+ Best left unset, in which case language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE\r
+ However, if you want to present the same locale settings to all users, then you can set this value to force the desired locale.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.formVar">\r
+</member><member name="F:Rico.LoadClient.LoadBaseLib">\r
        <summary>\r
- Name of the Javascript variable containing the LiveGrid Edit object\r
+ Load base Javascript library (prototype, jQuery, etc)?\r
+ Default is true.\r
+ Set to false if library is being loaded another way. In this case, a BaseLib value is still required to indicate\r
+ which library Rico should connect to.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.bufferVar">\r
+</member><member name="F:Rico.LoadClient.Striping">\r
        <summary>\r
- Name of the Javascript variable containing the LiveGrid buffer object\r
+ Apply row striping to LiveGrids? Default is true. Applies only when themes are used.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.bufferOptVar">\r
+</member><member name="F:Rico.LoadClient.SupportedLangs">\r
        <summary>\r
- Name of the Javascript variable containing the initial LiveGrid buffer options\r
+ Comma separated list of 2 letter locales that Rico supports.\r
+ Do not set unless you have developed your own locale file.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.SqlCompat">\r
+</member><member name="F:Rico.LoadClient.jQueryThemePath">\r
        <summary>\r
- Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set.\r
+ URL to load jQuery themes from.\r
+ Default is http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/\r
+ Override this value if you have a jQuery theme on your own server.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.dbDialect">\r
+</member><member name="P:Rico.LoadClient.LoadedLanguage">\r
        <summary>\r
- When connecting to SQL databases, this is the SQL dialect to use.\r
+ Returns the 2 character string representing the Rico locale file that was actually used on the client.\r
+ If there is no match between the requested languages and the available locale files, then english is used.\r
+ Only available during the render phase.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.dataProvider">\r
+</member><member name="P:Rico.LoadClient.checkQueryString">\r
        <summary>\r
- When using a SQL data source there is no need to set this property, \r
- as AJAX data fetches are sent back to the originating script by default.\r
- When setting this property to a URL, make sure the URL is enclosed in single quotes.\r
+ Load settings from QueryString?  true for demo, false for anything else. Default is false.\r
  </summary>\r
-</member><member name="P:Rico.LiveGridBase.rows">\r
+</member><member name="P:Rico.LoadClient.checkWebConfig">\r
        <summary>\r
Number of visible rows in the grid.\r
Negative values have the following meanings:\r
Load settings from web.config file? Default is false.\r
If true, then the appSettings section of web.config will be checked for the following keys (which affect the similarly named properties):\r
  <list type="bullet">\r
-                       <item><description>-1: size grid to client window</description></item>\r
-                       <item><description>-2: size grid to whichever is smaller: the client window or the data</description></item>\r
-                       <item><description>-3: size grid so that the page body does not have a scrollbar (default)</description></item>\r
-                       <item><description>-4: size grid to its parent node in the DOM</description></item>\r
+                       <item><description>rico_BaseLib</description></item>\r
+                       <item><description>rico_Language</description></item>\r
+                       <item><description>rico_jTheme</description></item>\r
+                       <item><description>rico_rTheme</description></item>\r
+                       <item><description>rico_Logging</description></item>\r
+                       <item><description>rico_HTML5</description></item>\r
+                       <item><description>rico_LoadBaseLib</description></item>\r
+                       <item><description>rico_Striping</description></item>\r
                </list>\r
+               <para>Boolean values in web.config should be the strings "true" or "1" for true, and "false" or "0" for false.</para>\r
        </summary>\r
-</member><member name="F:Rico.LiveGridBase.ColGroups">\r
+</member><member name="M:Rico.LoadClient.InitLiveGrids(System.Web.UI.HtmlTextWriter)">\r
        <summary>\r
- Collection of ColumnGroup objects, which define the headings used above each group of columns.\r
+ Initialize all grids on the page\r
+ Initialize grids with fixed # of rows first,\r
+ then initialize grids with variable # of rows\r
  </summary>\r
-</member><member name="F:Rico.LiveGridBase.Tables">\r
+</member><member name="P:Rico.LoadClient.jTheme">\r
        <summary>\r
- Defines the tables used by the LiveGrid. The first table is primary/main table.\r
+ Set theme to one of the jQuery Themeroller themes. Default is no theme.\r
+ Valid values are:\r
+   black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, \r
+   hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, \r
+   south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader\r
  </summary>\r
-</member><member name="M:Rico.LiveGridBase.ColClassName(System.Int32)">\r
+</member><member name="P:Rico.LoadClient.rTheme">\r
        <summary>\r
- Returns the class name of the specified grid column\r
+ Set theme to one of the Rico themes. Default is no theme.\r
+ Valid values are:\r
+   coffee-with-milk, grayedout, greenHdg, seaglass, warmfall\r
  </summary>\r
-       <param name="colnum"></param>\r
-</member><member name="M:Rico.LiveGridBase.AddColumn(Rico.Column)">\r
+</member><member name="T:Rico.LoadClient">\r
        <summary>\r
- Adds a new column to grid, returns column index\r
+ Loads the various Javascript, CSS, and image files required to make Rico function.\r
  </summary>\r
-       <param name="ColumnObj"></param>\r
-</member><member name="M:Rico.LiveGridBase.escapeJSON(System.String)">\r
+</member><member name="P:Rico.StyleBase.bold">\r
        <summary>\r
- Takes a given string and makes it JSON valid (http://json.org/)\r
+ True if the text should be displayed using a bold font\r
  </summary>\r
-       <param name="val">value which should be escaped</param>\r
-       <returns>JSON valid string</returns>\r
-       <remarks>\r
- AUTHOR: Michael Rebec\r
- All characters which needs to be escaped are beeing replaced by their\r
- unicode representation according to the\r
- RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627\r
- </remarks>\r
-</member><member name="T:Rico.LiveGridBase">\r
+</member><member name="P:Rico.StyleBase.italic">\r
        <summary>\r
- Methods and properties common to LiveGrid and LiveGridEdit\r
+ True if the text should be displayed in italics\r
  </summary>\r
-</member><member name="P:Rico.LiveGrid.BufferType">\r
-       <summary>\r
- The type of buffer deployed on the client\r
- <list type="table">\r
-                       <item><term>AjaxSQL</term><description>data source is a SQL database query</description></item>\r
-                       <item><term>AjaxLoadOnce</term><description>data is loaded all at one time from a remote source, such as an XML or JSON file</description></item>\r
-                       <item><term>Base</term><description>data is static, loaded from either an html table or javascript array</description></item>\r
-               </list>\r
-       </summary>\r
-</member><member name="P:Rico.LiveGrid.HtmlSourceId">\r
+</member><member name="P:Rico.StyleBase.underline">\r
        <summary>\r
- If grid is populated from an html table, then set HtmlSourceId to the id of the source table\r
+ True if the text should be underlined\r
  </summary>\r
-</member><member name="P:Rico.LiveGrid.QueryDistinct">\r
+</member><member name="P:Rico.StyleBase.fontsize">\r
        <summary>\r
- True if this should be a distinct sql query (default is false)\r
+ Font size in points\r
  </summary>\r
-</member><member name="T:Rico.LiveGrid">\r
+</member><member name="P:Rico.StyleBase.GridOnly">\r
        <summary>\r
- Class to define a LiveGrid\r
- A LiveGrid buffers its data in a Javascript array and can retrieve that data via AJAX\r
+ If true, then style is only applied to the grid, not to html or Excel exports\r
  </summary>\r
-</member><member name="M:Rico.TableCollection.IndexOf(System.String)">\r
+</member><member name="P:Rico.StyleBase.BackColor">\r
        <summary>\r
- Returns the index of the table with TblAlias or -1 if not found\r
+ Specifies the background color. One of the 16 standard color names, or #rrggbb.\r
  </summary>\r
-       <param name="TblAlias"></param>\r
-</member><member name="P:Rico.GridBase.gridVar">\r
+</member><member name="P:Rico.StyleBase.ForeColor">\r
        <summary>\r
- Name of grid Javascript object\r
+ Specifies the font color. One of the 16 standard color names, or #rrggbb.\r
  </summary>\r
-</member><member name="P:Rico.GridBase.optionsVar">\r
+</member><member name="P:Rico.StyleBase.HorizontalAlign">\r
        <summary>\r
- Name of grid options Javascript object\r
+ Specifies horizontal alignment: Left, Right, Center, or NotSet (default)\r
  </summary>\r
-</member><member name="F:Rico.GridBase.AutoFilter">\r
+</member><member name="P:Rico.StyleBase.Overflow">\r
        <summary>\r
- If enabled, an additional row is added to the grid header where column filters are placed. \r
See the EditCol.filterUI property to customize each column's filter.\r
+ Normally, overflowed content is hidden, but this allows content in the cell to scroll.\r
Only applies to the grid, not to exports.\r
  </summary>\r
-</member><member name="F:Rico.GridBase.FilterAllToken">\r
+</member><member name="P:Rico.StyleBase.CssStyle">\r
        <summary>\r
The token in select filters used to indicate "show all values" (default: "___ALL___").\r
Used internally. Returns the style properties as a css string.\r
  </summary>\r
-</member><member name="F:Rico.GridBase.defaultWidth">\r
+</member><member name="M:Rico.StyleBase.UnwrappedXlStyle">\r
        <summary>\r
- if -1 (default), then use column heading width, otherwise this is the default width in pixels\r
+ Used internally. Returns the style properties as an Excel XML string without the style tag.\r
  </summary>\r
-</member><member name="F:Rico.GridBase.allowColResize">\r
+</member><member name="T:Rico.StyleBase">\r
        <summary>\r
Allow user to resize columns? Default is true.\r
Base class for all style classes as well as the Column class.\r
  </summary>\r
-</member><member name="F:Rico.GridBase.frozenColumns">\r
+</member><member name="P:Rico.Style.StyleID">\r
        <summary>\r
- Number of frozen columns on the left (or right if direction=rtl). Default is 0.\r
- </summary>\r
-</member><member name="F:Rico.GridBase.RowLineHtEms">\r
+ StyleID's should not contain spaces or other special characters.\r
+ <list type="bullet">\r
+                       <item><description>Use a StyleID of Default to style the entire grid</description></item>\r
+                       <item><description>Use a StyleID of DefaultHdg to style the grid heading</description></item>\r
+                       <item><description>Use a StyleID of ricoLG_evenRow and/or ricoLG_oddRow to stripe the grid (striping does not get exported).</description></item>\r
+                       <item><description>Use a StyleID of ricoLG_selection to set the styling for the selected row.</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="M:Rico.Style.CssRule">\r
        <summary>\r
- Height of one line of text in ems. Default is 1.2, which should be fine for almost all situations.\r
+ Returns the style properties as a CSS rule\r
  </summary>\r
-</member><member name="F:Rico.GridBase.windowResize">\r
+</member><member name="M:Rico.Style.WrappedXlStyle">\r
        <summary>\r
- Resize grid when browser window is resized? Default is true.\r
+ Returns the style properties as an Excel XML style, including the style tag\r
  </summary>\r
-</member><member name="P:Rico.GridBase.menuEvent">\r
+</member><member name="P:Rico.Style.xlNumberFormat">\r
        <summary>\r
- Specifies when the grid's popup menu should be invoked \r
+ For SimpleGrids only\r
  </summary>\r
-</member><member name="P:Rico.GridBase.DefaultStyle">\r
+</member><member name="P:Rico.Style.NumberFormat">\r
        <summary>\r
- Style used for the entire grid - headings and data.\r
+ For SimpleGrids only\r
  </summary>\r
-</member><member name="P:Rico.GridBase.DefaultHdgStyle">\r
+</member><member name="M:Rico.Style.WrappedXlStyleNF">\r
        <summary>\r
- This holds the default style for headings. Use only if not using themes.\r
+ Returns the style properties plus number format as an Excel XML style, including the style tag\r
  </summary>\r
-</member><member name="F:Rico.GridBase.Styles">\r
+</member><member name="T:Rico.Style">\r
        <summary>\r
- Collection of styles used for individual headings.\r
+ Defines a style that can be applied to a grid cell.\r
+ Using a StyleID of ricoLG_evenRow or ricoLG_oddRow will stripe the grid, however striping does not get exported.\r
+ Using a StyleID of ricoLG_selection will set the styling for the selected row.\r
  </summary>\r
-</member><member name="P:Rico.GridBase.HdgRowLines">\r
+</member><member name="M:Rico.StyleDictionary.Add(Rico.Style)">\r
        <summary>\r
- Lines of text displayed in each heading row\r
+ Adds a Style object to the collection\r
  </summary>\r
-</member><member name="P:Rico.GridBase.DefaultRowLines">\r
+       <param name="new_style"></param>\r
+</member><member name="P:Rico.StyleDictionary.Item(System.String)">\r
        <summary>\r
- Lines of text displayed in each data row\r
+ Returns a Style object from the collection based on the style's StyleID\r
  </summary>\r
-</member><member name="P:Rico.GridBase.OuterDivId">\r
+       <param name="StyleId"></param>\r
+</member><member name="P:Rico.StyleDictionary.Keys">\r
        <summary>\r
- Returns the id of the outermost grid container\r
+ Returns all of the StyleID's in the collection\r
  </summary>\r
-</member><member name="M:Rico.GridBase.GetColumnIdx(System.String)">\r
+</member><member name="P:Rico.StyleDictionary.Values">\r
        <summary>\r
- Returns the index of the column with the given id\r
+ Returns all of the Style objects in the collection\r
  </summary>\r
-</member><member name="M:Rico.GridBase.GetColumn(System.String)">\r
+</member><member name="M:Rico.StyleDictionary.Contains(System.String)">\r
        <summary>\r
- Returns the column object with the given id\r
+ Returns true if the StyleID is in the collection\r
  </summary>\r
-</member><member name="M:Rico.GridBase.GridRules">\r
+       <param name="StyleId"></param>\r
+</member><member name="M:Rico.StyleDictionary.Remove(System.String)">\r
        <summary>\r
- Returns the set of css rules that apply to this grid\r
+ Removes the Style object with the given StyleID from the collection\r
  </summary>\r
-</member><member name="T:Rico.GridBase">\r
+       <param name="StyleId"></param>\r
+</member><member name="T:Rico.StyleDictionary">\r
        <summary>\r
- This class defines properties and functions used in SimpleGrid, LiveGrid and LiveGridEdit classes.\r
+ Container for a collection of Style objects\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.bold">\r
+</member><member name="P:Rico.SimpleCol.Width">\r
        <summary>\r
- True if the text should be displayed using a bold font\r
+ Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.italic">\r
+</member><member name="T:Rico.SimpleCol">\r
        <summary>\r
- True if the text should be displayed in italics\r
+ Defines a column in a SimpleGrid\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.underline">\r
+</member><member name="F:Rico.Column.canSort">\r
        <summary>\r
- True if the text should be underlined\r
+ Is the user allowed to sort the column? Default is true.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.fontsize">\r
+</member><member name="F:Rico.Column.canDrag">\r
        <summary>\r
- Font size in points\r
+ Is the user allowed to drag a column value? Default is false.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.GridOnly">\r
+</member><member name="F:Rico.Column.canFilter">\r
        <summary>\r
- If true, then style is only applied to the grid, not to html or Excel exports\r
+ Is the user allowed to filter the column? Default is true.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.BackColor">\r
+</member><member name="F:Rico.Column.control">\r
        <summary>\r
- Specifies the background color. One of the 16 standard color names, or #rrggbb.\r
+ Javascript code to create a control object, which changes the way the column data is rendered.\r
+ The disadvantage of using this approach is that the altered rendering does not get reflected in exports.\r
+ A set of controls is defined in ricoLiveGridControls.js or the developer can create their own.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.ForeColor">\r
+</member><member name="F:Rico.Column.filterUI">\r
        <summary>\r
- Specifies the font color. One of the 16 standard color names, or #rrggbb.\r
- </summary>\r
-</member><member name="P:Rico.StyleBase.HorizontalAlign">\r
+ If the AutoFilter option is enabled for the grid, then filterUI will control how each column is filtered. If filterUI is:\r
+ <list type="bullet">\r
+                       <item><description>null or omitted, then no filter is displayed for the column.</description></item>\r
+                       <item><description>'t' - will generate a text box filter and the records being displayed are filtered as the user types. May be followed by a number to indicate the size of the text box (default size is 10). </description></item>\r
+                       <item><description>'s' - will generate a select list filter with all possible column values contained in the list. Populated using a 'select distinct' query if the grid's source is a SQL query.</description></item>\r
+                       <item><description>'m' - will generate multi-select checklist filter, with a checkbox next to each item.</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="F:Rico.Column.filterColId">\r
        <summary>\r
- Specifies horizontal alignment: Left, Right, Center, or NotSet (default)\r
+ This setting allows the filterUI to filter a different column than where it is displayed.\r
+ This is particularly useful for dates, where you can show a year selection on an OrderDate date column for example,\r
+ but actually have it filter a hidden column OrderYear=year(OrderDate).\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.Overflow">\r
+</member><member name="F:Rico.Column.ConfirmDeleteColumn">\r
        <summary>\r
- Normally, overflowed content is hidden, but this allows content in the cell to scroll.\r
- Only applies to the grid, not to exports.\r
+ The text content of this column will be included in delete confirmation messages.\r
  </summary>\r
-</member><member name="P:Rico.StyleBase.CssStyle">\r
+</member><member name="F:Rico.Column.multiplier">\r
        <summary>\r
- Used internally. Returns the style properties as a css string.\r
+ If column is a number, this value can be used to multiply the database value by a factor before displaying it in the grid.\r
+ Default is 1. Automatically set to 100 if DataType is percent.\r
  </summary>\r
-</member><member name="M:Rico.StyleBase.UnwrappedXlStyle">\r
+</member><member name="F:Rico.Column.decPlaces">\r
        <summary>\r
- Used internally. Returns the style properties as an Excel XML string without the style tag.\r
+ If column is a number, this is the number of digits displayed to the right of the decimal point. Default is 0.\r
+ If DataType is dollar or euro, then decPlaces is automatically set to 2.\r
  </summary>\r
-</member><member name="T:Rico.StyleBase">\r
+</member><member name="F:Rico.Column.thouSep">\r
        <summary>\r
Base class for all style classes as well as the Column class.\r
If column is a number, display the value with a thousands separator? Default is true.\r
  </summary>\r
-</member><member name="P:Rico.Style.StyleID">\r
+</member><member name="F:Rico.Column.negSign">\r
        <summary>\r
- StyleID's should not contain spaces or other special characters.\r
- <list type="bullet">\r
-                       <item><description>Use a StyleID of Default to style the entire grid</description></item>\r
-                       <item><description>Use a StyleID of DefaultHdg to style the grid heading</description></item>\r
-                       <item><description>Use a StyleID of ricoLG_evenRow and/or ricoLG_oddRow to stripe the grid (striping does not get exported).</description></item>\r
-                       <item><description>Use a StyleID of ricoLG_selection to set the styling for the selected row.</description></item>\r
+ Specifies how negative numbers should be displayed. Possible values:\r
+ <list>\r
+                       <item><description>L=leading minus (default)</description></item>\r
+                       <item><description>T=trailing minus</description></item>\r
+                       <item><description>P=parentheses</description></item>\r
                </list>\r
        </summary>\r
-</member><member name="M:Rico.Style.CssRule">\r
+</member><member name="F:Rico.Column.prefix">\r
        <summary>\r
- Returns the style properties as a CSS rule\r
+ If column is a number, this string is prepended to the number before display.\r
+ Useful for currency symbols.\r
  </summary>\r
-</member><member name="M:Rico.Style.WrappedXlStyle">\r
+</member><member name="F:Rico.Column.suffix">\r
        <summary>\r
- Returns the style properties as an Excel XML style, including the style tag\r
+ If column is a number, this string is appended to the number before display.\r
+ Useful for percentages and temperature values. Automatically set to % if DataType is percent.\r
  </summary>\r
-</member><member name="P:Rico.Style.xlNumberFormat">\r
+</member><member name="F:Rico.Column.HdgStyleID">\r
        <summary>\r
- For SimpleGrids only\r
+ Used to give the column heading a specific style.\r
+ In most cases this is not necessary, as the heading will be styled according to the theme.\r
  </summary>\r
-</member><member name="P:Rico.Style.NumberFormat">\r
+</member><member name="F:Rico.Column.isNullable">\r
        <summary>\r
- For SimpleGrids only\r
+ Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
  </summary>\r
-</member><member name="M:Rico.Style.WrappedXlStyleNF">\r
+</member><member name="F:Rico.Column.Writeable">\r
        <summary>\r
- Returns the style properties plus number format as an Excel XML style, including the style tag\r
+ Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
  </summary>\r
-</member><member name="T:Rico.Style">\r
+</member><member name="F:Rico.Column.isKey">\r
        <summary>\r
- Defines a style that can be applied to a grid cell.\r
- Using a StyleID of ricoLG_evenRow or ricoLG_oddRow will stripe the grid, however striping does not get exported.\r
- Using a StyleID of ricoLG_selection will set the styling for the selected row.\r
+ Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
  </summary>\r
-</member><member name="M:Rico.StyleDictionary.Add(Rico.Style)">\r
+</member><member name="F:Rico.Column.Length">\r
        <summary>\r
- Adds a Style object to the collection\r
+ Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
  </summary>\r
-       <param name="new_style"></param>\r
-</member><member name="P:Rico.StyleDictionary.Item(System.String)">\r
+</member><member name="F:Rico.Column.TypeName">\r
        <summary>\r
- Returns a Style object from the collection based on the style's StyleID\r
+ Database property - set automatically by LiveGrid.GetColumnInfoFromDb()\r
  </summary>\r
-       <param name="StyleId"></param>\r
-</member><member name="P:Rico.StyleDictionary.Keys">\r
+</member><member name="F:Rico.Column.ColGroupIdx">\r
        <summary>\r
- Returns all of the StyleID's in the collection\r
+ For internal use\r
  </summary>\r
-</member><member name="P:Rico.StyleDictionary.Values">\r
+</member><member name="P:Rico.Column.Heading">\r
        <summary>\r
- Returns all of the Style objects in the collection\r
+ Text displayed in the column heading.\r
  </summary>\r
-</member><member name="M:Rico.StyleDictionary.Contains(System.String)">\r
+</member><member name="P:Rico.Column.Width">\r
        <summary>\r
- Returns true if the StyleID is in the collection\r
+ Initial width of the column in pixels. Default is to use LiveGrid.defaultWidth.\r
  </summary>\r
-       <param name="StyleId"></param>\r
-</member><member name="M:Rico.StyleDictionary.Remove(System.String)">\r
+</member><member name="M:Rico.Column.NumberFormat">\r
        <summary>\r
- Removes the Style object with the given StyleID from the collection\r
+ Returns an Excel-type number format string based on decPlaces, thouSep, prefix.\r
  </summary>\r
-       <param name="StyleId"></param>\r
-</member><member name="T:Rico.StyleDictionary">\r
+</member><member name="P:Rico.Column.DataType">\r
        <summary>\r
- Container for a collection of Style objects\r
+ Type of data stored in the column.\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.ImgHeading">\r
+</member><member name="M:Rico.Column.script">\r
        <summary>\r
- Background image for grid headings and window titles.\r
- Should be left unset, as it is used only for the grayedout theme (in which case it is set automatically).\r
+ Internal function that returns the LiveGrid column options object, used to initialize the column on the client.\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.BaseLib">\r
-       <summary>\r
- The base Javascript library to load from http://ajax.googleapis.com/ajax/libs/, possible values include:\r
- <list type="bullet">\r
-                       <item><description>prototype/1.6/prototype.js</description></item>\r
-                       <item><description>prototype/1.7/prototype.js</description></item>\r
-                       <item><description>jquery/1.3/jquery.min.js</description></item>\r
-                       <item><description>jquery/1.4/jquery.min.js</description></item>\r
-                       <item><description>jquery/1.5/jquery.min.js</description></item>\r
-                       <item><description>jquery/1.6/jquery.min.js</description></item>\r
-                       <item><description>mootools/1.2/mootools-yui-compressed.js</description></item>\r
-                       <item><description>mootools/1.3/mootools-yui-compressed.js</description></item>\r
-                       <item><description>dojo/1.5/dojo/dojo.xd.js</description></item>\r
-                       <item><description>dojo/1.6/dojo/dojo.xd.js</description></item>\r
-                       <item><description>ext-core/3.0/ext-core.js</description></item>\r
-                       <item><description>ext-core/3.1/ext-core.js</description></item>\r
-               </list>\r
-               <para>Default value is "proto_min", which loads prototype 1.7 from the server control.</para>\r
-       </summary>\r
-</member><member name="F:Rico.LoadClient.Logging">\r
+</member><member name="T:Rico.Column">\r
        <summary>\r
- Enable Javascript console logging? Useful for debugging. Default is false.\r
+ Base class for a LiveGrid column\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.HTML5">\r
+</member><member name="F:Rico.FormulaCol.Formula">\r
        <summary>\r
- Enable HTML5 web form elements in browsers that support them. \r
- Default is false because the quality of the HTML5 web form elements is uneven across browsers.\r
+ SQL expression\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.Language">\r
+</member><member name="T:Rico.FormulaCol">\r
        <summary>\r
- Best left unset, in which case language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE\r
- However, if you want to present the same locale settings to all users, then you can set this value to force the desired locale.\r
+ Calculated Column\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.LoadBaseLib">\r
+</member><member name="F:Rico.TableCol.ColName">\r
        <summary>\r
- Load base Javascript library (prototype, jQuery, etc)?\r
- Default is true.\r
- Set to false if library is being loaded another way. In this case, a BaseLib value is still required to indicate\r
- which library Rico should connect to.\r
+ Column name in table or view\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.Striping">\r
+</member><member name="F:Rico.TableCol.TblAlias">\r
        <summary>\r
- Apply row striping to LiveGrids? Default is true. Applies only when themes are used.\r
+ This should match the TblAlias of one of the Table objects specified for the grid.\r
+ If unspecified, the primary table or view is assumed.\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.SupportedLangs">\r
+</member><member name="F:Rico.TableCol.TableIdx">\r
        <summary>\r
- Comma separated list of 2 letter locales that Rico supports.\r
- Do not set unless you have developed your own locale file.\r
+ Used internally\r
  </summary>\r
-</member><member name="F:Rico.LoadClient.jQueryThemePath">\r
+</member><member name="T:Rico.TableCol">\r
        <summary>\r
- URL to load jQuery themes from.\r
- Default is http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/\r
- Override this value if you have a jQuery theme on your own server.\r
+ Column from table or view\r
  </summary>\r
-</member><member name="P:Rico.LoadClient.LoadedLanguage">\r
+</member><member name="F:Rico.EditCol.pattern">\r
        <summary>\r
- Returns the 2 character string representing the Rico locale file that was actually used on the client.\r
- If there is no match between the requested languages and the available locale files, then english is used.\r
- Only available during the render phase.\r
+ Regular expression used to validate the user input. User entries will be checked to ensure they match the pattern specified. \r
+ There are a few special values:\r
+ <list type="table">\r
+                       <item><term>email</term><description>tests for a valid email address</description></item>\r
+                       <item><term>float-unsigned</term><description>tests for a valid unsigned floating point (real) number</description></item>\r
+                       <item><term>float-signed</term><description>tests for a valid signed floating point (real) number (this is the default when EntryType is "F")</description></item>\r
+                       <item><term>int-unsigned</term><description>tests for a valid unsigned integer number</description></item>\r
+                       <item><term>int-signed</term><description>tests for a valid signed integer number (this is the default when EntryType is "I")</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.min">\r
+       <summary>\r
+ Sets the minimum allowable value in a numeric or date field.\r
+ For dates, the value should be in ISO-8601 format.\r
  </summary>\r
-</member><member name="P:Rico.LoadClient.checkQueryString">\r
+</member><member name="F:Rico.EditCol.max">\r
        <summary>\r
- Load settings from QueryString?  true for demo, false for anything else. Default is false.\r
+ Sets the maximum allowable value in a numeric or date field.\r
+ For dates, the value should be in ISO-8601 format.\r
  </summary>\r
-</member><member name="P:Rico.LoadClient.checkWebConfig">\r
+</member><member name="F:Rico.EditCol.Help">\r
        <summary>\r
- Load settings from web.config file? Default is false.\r
- If true, then the appSettings section of web.config will be checked for the following keys (which affect the similarly named properties):\r
- <list type="bullet">\r
-                       <item><description>rico_BaseLib</description></item>\r
-                       <item><description>rico_Language</description></item>\r
-                       <item><description>rico_jTheme</description></item>\r
-                       <item><description>rico_rTheme</description></item>\r
-                       <item><description>rico_Logging</description></item>\r
-                       <item><description>rico_HTML5</description></item>\r
-                       <item><description>rico_LoadBaseLib</description></item>\r
-                       <item><description>rico_Striping</description></item>\r
-               </list>\r
-               <para>Boolean values in web.config should be the strings "true" or "1" for true, and "false" or "0" for false.</para>\r
-       </summary>\r
-</member><member name="M:Rico.LoadClient.InitLiveGrids(System.Web.UI.HtmlTextWriter)">\r
+ Provides information to help the user understand the meaning of the field.\r
+ Fields with help text will be display with a blue "i" icon next to the field name.\r
+ When the user hovers their cursor over the icon, the help text will be displayed.\r
+ </summary>\r
+</member><member name="F:Rico.EditCol.TxtAreaRows">\r
        <summary>\r
- Initialize all grids on the page\r
- Initialize grids with fixed # of rows first,\r
- then initialize grids with variable # of rows\r
+ For columns with entry type "TA", this is # of rows to display in the textarea when in form view (default 4)\r
  </summary>\r
-</member><member name="P:Rico.LoadClient.jTheme">\r
+</member><member name="F:Rico.EditCol.TxtAreaCols">\r
        <summary>\r
- Set theme to one of the jQuery Themeroller themes. Default is no theme.\r
- Valid values are:\r
-   black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, \r
-   hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, \r
-   south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader\r
+ For columns with entry type "TA", this is # of columns to display in the textarea when in form view (default 80)\r
  </summary>\r
-</member><member name="P:Rico.LoadClient.rTheme">\r
+</member><member name="F:Rico.EditCol.ColData">\r
        <summary>\r
- Set theme to one of the Rico themes. Default is no theme.\r
- Valid values are:\r
-   coffee-with-milk, grayedout, greenHdg, seaglass, warmfall\r
+ column's default value in the form view\r
  </summary>\r
-</member><member name="T:Rico.LoadClient">\r
+</member><member name="F:Rico.EditCol.SelectSql">\r
        <summary>\r
- Loads the various Javascript, CSS, and image files required to make Rico function.\r
+ Specifies the SQL select statement to use for EntryTypes of SL, CL, and RL. \r
+ The select statement should return 2 columns: the first being the code and the second being the text value/description. \r
+ For example:\r
+ <code>\r
+ EntryType="SL" ColName="CustID" SelectSql="select ID,Name from Customers"\r
+ </code>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.SelectCtl">\r
+       <summary>\r
+ For entry type "CL", this property specifies the id of the custom control.\r
  </summary>\r
-</member><member name="P:Rico.My.Resources.Resources.ResourceManager">\r
+</member><member name="F:Rico.EditCol.SelectFilter">\r
        <summary>\r
-  Returns the cached ResourceManager instance used by this class.\r
-</summary>\r
-</member><member name="P:Rico.My.Resources.Resources.Culture">\r
+ SelectSql serves 2 purposes. First, it is used to retrieve the appropriate data to display in the grid. \r
+ Second, it is used to populate the values in the select box (SL) or radio buttons (RL) on the pop-up form. \r
+ In some cases, you may want these to be different. In the SelectSql example above, we are retrieving customer name. \r
+ But let's say that our Customers table has a "CreditHold" field and we want to disable the selection of customers \r
+ on credit hold in the form view, but still display them in the grid. \r
+ This is where SelectFilter comes in:\r
+ <code>\r
+ SelectFilter="CreditHold='NO'"\r
+ </code>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.SelectValues">\r
        <summary>\r
-  Overrides the current thread's CurrentUICulture property for all\r
-  resource lookups using this strongly typed resource class.\r
-</summary>\r
-</member><member name="T:Rico.My.Resources.Resources">\r
+ Specifies the choices the user sees in form view for EntryTypes of N, S, and R. \r
+ If supplied, then this should be a string of comma-separated values. \r
+ For example:\r
+ <code>\r
+ SelectValues="Y,N"\r
+ </code>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.SelectRows">\r
        <summary>\r
-  A strongly-typed resource class, for looking up localized strings, etc.\r
-</summary>\r
-</member><member name="T:Rico.SimpleGrid">\r
+ Specifies the number of rows to display in drop down select boxes for entry types S and SL.\r
+ Default is to let the browser decide.\r
+ </summary>\r
+</member><member name="F:Rico.EditCol.FilterFlag">\r
        <summary>\r
- Class to define a SimpleGrid\r
+ If true, then the grid is filtered by the default value (ColData) for this column (default=false)\r
  </summary>\r
-</member><member name="F:Rico.LiveGridEdit.onFormOpen">\r
+</member><member name="F:Rico.EditCol.InsertOnly">\r
        <summary>\r
- Javascript function to be called when the form opens to add or edit a record\r
+ If true, then only write this field to the database when peforming an insert (default=false).\r
  </summary>\r
-</member><member name="F:Rico.LiveGridEdit.onFormClose">\r
+</member><member name="F:Rico.EditCol.UpdateOnly">\r
        <summary>\r
- Javascript function to be called when the add/edit form closes\r
+ If true, then only write this field to the database when peforming an update (default=false).\r
  </summary>\r
-</member><member name="F:Rico.LiveGridEdit.onFormSubmit">\r
+</member><member name="F:Rico.EditCol.ReadOnly">\r
        <summary>\r
- Javascript function to be called when the add/edit form is submitted to the server\r
+ If true, data is displayed on the entry form but cannot be changed, text is gray (default=false). \r
+ Does not apply to entry types of S, SL, N, R, RL -- use FormView="hidden" instead.\r
  </summary>\r
-</member><member name="F:Rico.LiveGridEdit.onSubmitResponse">\r
+</member><member name="F:Rico.EditCol.FormView">\r
        <summary>\r
- Javascript function to be called when a response is received from the server after a form submittal\r
+               <list type="table">\r
+                       <item><term>True</term><description>Item is shown on the entry form (default)</description></item>\r
+                       <item><term>False</term><description>Item is not shown on the form</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.AddQuotes">\r
+       <summary>\r
+ When false, the column value will be left unquoted when inserting or updating the database. \r
+ Default is false for entry type TS, and true for all other entry types.\r
+ This makes it possible to populate columns with SQL function calls. \r
+ For example:\r
+ <code>\r
+ ColName="LastEditUser" EntryType="H" AddQuotes="false" ColData="suser_sname()"\r
+ </code>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.MultiSelect">\r
+       <summary>\r
+ If true, the user is allowed to select multiple values.\r
+ For entry types R and RL, this changes the input from radio buttons to checkboxes.\r
+ Default is false.\r
  </summary>\r
-</member><member name="E:Rico.LiveGridEdit.DbDelete">\r
+</member><member name="F:Rico.EditCol.DescriptionCol">\r
        <summary>\r
- Event raised right before the database deletion takes place.\r
+ Normally RL and SL columns are used for foreign keys, and only the key is stored in the table, not the foreign key's associated\r
+ name or description. However, by specifying a value for DescriptionCol, you can store the associated description as well.\r
+ <code>\r
+ EntryType="SL" ColName="CustID" DescriptionCol="CustName" SelectSql="select ID,Name from Customers"\r
+ </code>\r
+       </summary>\r
+</member><member name="F:Rico.EditCol.DescriptionField">\r
+       <summary>\r
+ Used internally. Populates automatically based on DescriptionCol.\r
  </summary>\r
-       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
-</member><member name="E:Rico.LiveGridEdit.DbInsert">\r
+</member><member name="F:Rico.EditCol.noFormBreak">\r
        <summary>\r
- Event raised right before the database insertion takes place.\r
+ Boolean value that when true, specifies that this entry field should placed on the same form row as the last field \r
+ (default: false - each form field is placed on a separate row).\r
  </summary>\r
-       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
-       <param name="Data">Hashtable containing the data to be inserted. Key is the column name. Value is the quoted data to be written. Changing the contents of the hash does NOT change what is written to the database.</param>\r
-</member><member name="E:Rico.LiveGridEdit.DbUpdate">\r
+</member><member name="M:Rico.EditCol.isLookupField">\r
        <summary>\r
- Event raised right before the database update takes place.\r
+ Returns true if the column is a lookup field (entry type SL, RL, or CL)\r
  </summary>\r
-       <param name="TabIdx">Index into the Tables collection. 0 is the main table.</param>\r
-       <param name="Data">Hashtable containing the data to be updated. Key is the column name. Value is the quoted data to be written. Changing the contents of the hash does NOT change what is written to the database.</param>\r
-       <param name="WhereClause">Where clause that selects the record to be updated.</param>\r
-</member><member name="M:Rico.LiveGridEdit.TableKeyWhereClause(System.Int32)">\r
+</member><member name="P:Rico.EditCol.EntryType">\r
        <summary>\r
- Returns where clause based on table's primary key\r
+ Code indicating the ui to be used for data entry\r
+ <list type="table">\r
+                       <item><term>TA</term><description>Text Area</description></item>\r
+                       <item><term>R</term><description>Radio button list</description></item>\r
+                       <item><term>RL</term><description>Radio buttons via lookup (field is a foreign key)</description></item>\r
+                       <item><term>S</term><description>Select list</description></item>\r
+                       <item><term>SL</term><description>Select list via lookup (field is a foreign key)</description></item>\r
+                       <item><term>CL</term><description>Custom widget via lookup (field is a foreign key)</description></item>\r
+                       <item><term>N</term><description>Select list of distinct column values, use allowed to add new values</description></item>\r
+                       <item><term>B</term><description>Text, non-blank</description></item>\r
+                       <item><term>T</term><description>Text</description></item>\r
+                       <item><term>I</term><description>Integer</description></item>\r
+                       <item><term>F</term><description>Floating point number</description></item>\r
+                       <item><term>tinyMCE</term><description>Rich text via tinyMCE</description></item>\r
+                       <item><term>D</term><description>Date</description></item>\r
+                       <item><term>TS</term><description>Time stamp</description></item>\r
+                       <item><term>H</term><description>Hidden</description></item>\r
+               </list>\r
+       </summary>\r
+</member><member name="T:Rico.EditCol">\r
+       <summary>\r
+ Defines an editable column in a LiveGridEdit object\r
+ </summary>\r
+</member><member name="T:Rico.SimpleGrid">\r
+       <summary>\r
+ Class to define a SimpleGrid\r
  </summary>\r
-       <param name="TabIdx"></param>\r
 </member>\r
 </members>\r
 </doc>
\ No newline at end of file
index 7b725b3..d3d492a 100644 (file)
@@ -15,7 +15,6 @@ var tree1;
 // initialize tree\r
 Rico.onLoad( function() {\r
   tree1=new Rico.TreeControl("tree1", "CustTree.aspx");\r
-  tree1.atLoad();\r
   tree1.returnValue=function(newVal) { Rico.$('TreeValue1').value=newVal; };\r
   Rico.eventBind('TreeButton1', 'click', Rico.eventHandle(window,'TreeClick1'));\r
 });\r
index 4b3c62d..e37c139 100644 (file)
@@ -18,7 +18,6 @@ Rico.onLoad( function() {
   new Rico.TabbedPanel( 'tabsExample', {panelHeight:160});\r
   var cal=new Rico.CalendarControl("ricoCal",{position:'auto'});\r
   cal.selectNow();\r
-  cal.openPopup();\r
   dialog=new Rico.Window('',{height:'250px',width:'300px',overflow:'auto'}, 'dialog');\r
 });\r
 \r
index b68dbed..b176d1e 100644 (file)
@@ -18,7 +18,6 @@ Rico.onLoad( function() {
   new Rico.TabbedPanel( 'tabsExample', {panelHeight:160});
   var cal=new Rico.CalendarControl("ricoCal",{position:'auto'});
   cal.selectNow();
-  cal.openPopup();
   dialog=new Rico.Window('',{height:'250px',width:'300px',overflow:'auto'}, 'dialog');
 });
 
index 5f8c7da..787f57f 100644 (file)
@@ -5,7 +5,12 @@
 <title>Rico LiveGrid sourced from HTML table</title>\r
 \r
 <?php\r
-require "LoadRicoClient.php";\r
+error_reporting(E_ALL);\r
+ini_set('display_errors', '1');\r
+require "../../plugins/php/rico.php";\r
+Rico\init(array('checkQueryString' => true));\r
+Rico\renderHead();\r
+//require "LoadRicoClient.php";\r
 ?>\r
 <link href="../demo.css" type="text/css" rel="stylesheet" />\r
 \r
@@ -30,18 +35,18 @@ Rico.onLoad( function() {
 <body>\r
 \r
 <table id='explanation' border='0' cellpadding='0' cellspacing='5' style='clear:both'><tr valign='top'><td>\r
-Base Library: \r
+Base Library:\r
 <script type='text/javascript'>\r
 document.write(Rico.Lib+' '+Rico.LibVersion);\r
 </script>\r
 <hr>\r
 This example demonstrates how Rico can convert an existing HTML table into\r
-a much more usable LiveGrid. \r
+a much more usable LiveGrid.\r
 LiveGrid provides scrolling, column resizing, filtering, and sorting capabilities.\r
 Click on a cell to see available actions.\r
-<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
+<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
 <?php\r
index 5404317..4e96511 100644 (file)
@@ -5,7 +5,7 @@
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
 </HEAD>\r
 <frameset cols="300, *">\r
-  <frame name="menu" src="menu.html">\r
+  <frame name="menu" src="menu.php">\r
   <frame name="content" src="../welcome.html" scrolling="yes">\r
 </frameset>\r
 </html>\r
diff --git a/examples/php/menu.html b/examples/php/menu.html
deleted file mode 100644 (file)
index bcce0c7..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
-<html>\r
-<head>\r
-<title>Rico 3.0</title>\r
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
-\r
-<script src="../../ricoClient/js/proto_min.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
-<script src="../../ricoClient/js/rico_min.js" type="text/javascript"></script>\r
-<link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet" />\r
-\r
-<script src="../menu.js" type="text/javascript"></script>\r
-<link href="../menu.css" type="text/css" rel="stylesheet">\r
-\r
-<!--[if lt IE 7]>\r
-  <style type="text/css">\r
-ul li {
-   height: 1%;\r
-}
- </style>\r
-<![endif]-->\r
-</head>\r
-\r
-\r
-<body>\r
-\r
-<div id="menuheader">
-<p>Rico <span id='RicoVersion'></span> <span id='RicoDir'></span> Demo</p>\r
-</div>
-\r
-<div class='top'>\r
-<form action='' method='get' id='form1' target="content">\r
-<ul>\r
-<li id='demolist'>Example: <span id='demospan'></span>\r
-<li>Theme: <span id='themespan'></span><input type='hidden' name='theme' id='theme' value=''>\r
-<li>Base Lib: <span id='libspan'></span><input type='hidden' name='lib' id='lib' value=''>\r
-<li><input type='checkbox' name='log'>&nbsp; Enable logging\r
-</ul>\r
-</form>\r
-</div>\r
-\r
-\r
-<div id="accordion1">\r
-\r
-<div>\r
-  <div>Choose the Example</div>\r
-  <div>\r
-<ul>\r
-<li><a id="demo_widgets.php">Rico Widget Overview</a>\r
-<li><a id="demo_ex1.php">LiveGrid sourced from HTML table</a>\r
-<li><a id="demo_ex2xml.php">LiveGrid sourced from SQL database (xml)</a>\r
-<li><a id="demo_ex2json.php">LiveGrid sourced from SQL database (json)</a>\r
-<li><a id="demo_ShipperEdit.php">Editable LiveGrid (basic)</a>\r
-<li><a id="demo_ex2editfilter.php">Editable LiveGrid (advanced)</a>\r
-<li><a id="demo_ex2nosession.php">Editable LiveGrid without session vars</a>\r
-<li><a id="demo_photos.php">LiveGrid sourced from flickr</a>\r
-<li><a id="demo_simplegrid.php">SimpleGrid</a>\r
-<li><a id="demo_tree1.php">Tree control</a>\r
-<li><a id="demo_RicoDbViewer.php">Northwind data browser</a>\r
-</ul>\r
-  </div>\r
-</div>\r
-\r
-<div>\r
-  <div>Choose the Theme</div>\r
-  <div>\r
-  <table border='0'>\r
-  <tr>\r
-  <td>Themeroller<br>Themes</td><td>Rico<br>Themes</td>\r
-  </tr>\r
-  <tr valign='top'>\r
-  <td>\r
-\r
-    <ul>\r
-<li><a id="theme_j-ui-lightness"><img src="../images/themeroller/theme_30_ui_light.png" alt="UI Lightness" title="UI Lightness" />\r
-<br><span class="themeName">UI lightness</span></a></li>\r
-\r
-<li><a id="theme_j-ui-darkness"><img src="../images/themeroller/theme_30_ui_dark.png" alt="UI Darkness" title="UI Darkness" />\r
-<br><span class="themeName">UI darkness</span></a></li>\r
-\r
-<li><a id="theme_j-smoothness"><img src="../images/themeroller/theme_30_smoothness.png" alt="Smoothness" title="Smoothness" />\r
-<br><span class="themeName">Smoothness</span></a></li>\r
-\r
-<li><a id="theme_j-start"><img src="../images/themeroller/theme_30_start_menu.png" alt="Start" title="Start" />\r
-<br><span class="themeName">Start</span></a></li>\r
-\r
-<li><a id="theme_j-redmond"><img src="../images/themeroller/theme_30_windoze.png" alt="Redmond" title="Redmond" />\r
-<br><span class="themeName">Redmond</span></a></li>\r
-\r
-<li><a id="theme_j-sunny"><img src="../images/themeroller/theme_30_sunny.png" alt="Sunny" title="Sunny" />\r
-<br><span class="themeName">Sunny</span></a></li>\r
-\r
-<li><a  id="theme_j-overcast"><img src="../images/themeroller/theme_30_overcast.png" alt="Overcast" title="Overcast" />\r
-<br><span class="themeName">Overcast</span></a></li>\r
-\r
-<li><a  id="theme_j-le-frog"><img src="../images/themeroller/theme_30_le_frog.png" alt="Le Frog" title="Le Frog" />\r
-<br><span class="themeName">Le Frog</span></a></li>\r
-\r
-<li><a  id="theme_j-flick"><img src="../images/themeroller/theme_30_flick.png" alt="Flick" title="Flick" />\r
-<br><span class="themeName">Flick</span></a></li>\r
-\r
-<li><a  id="theme_j-pepper-grinder"><img src="../images/themeroller/theme_30_pepper_grinder.png" alt="Pepper Grinder" title="Pepper Grinder" />\r
-<br><span class="themeName">Pepper Grinder</span></a></li>\r
-\r
-<li><a  id="theme_j-eggplant"><img src="../images/themeroller/theme_30_eggplant.png" alt="Eggplant" title="Eggplant" />\r
-<br><span class="themeName">Eggplant</span></a></li>\r
-\r
-<li><a  id="theme_j-dark-hive"><img src="../images/themeroller/theme_30_dark_hive.png" alt="Dark Hive" title="Dark Hive" />\r
-<br><span class="themeName">Dark Hive</span></a></li>\r
-\r
-<li><a  id="theme_j-cupertino"><img src="../images/themeroller/theme_30_cupertino.png" alt="Cupertino" title="Cupertino" />\r
-<br><span class="themeName">Cupertino</span></a></li>\r
-\r
-<li><a  id="theme_j-south-street"><img src="../images/themeroller/theme_30_south_street.png" alt="South St" title="South St" />\r
-<br><span class="themeName">South Street</span></a></li>\r
-\r
-<li><a  id="theme_j-blitzer"><img src="../images/themeroller/theme_30_blitzer.png" alt="Blitzer" title="Blitzer" />\r
-<br><span class="themeName">Blitzer</span></a></li>    \r
-\r
-<li><a  id="theme_j-humanity"><img src="../images/themeroller/theme_30_humanity.png" alt="Humanity" title="Humanity" />\r
-<br><span class="themeName">Humanity</span></a></li>\r
-\r
-<li><a  id="theme_j-hot-sneaks"><img src="../images/themeroller/theme_30_hot_sneaks.png" alt="Hot Sneaks" title="Hot Sneaks" />\r
-<br><span class="themeName">Hot sneaks</span></a></li>\r
-\r
-<li><a  id="theme_j-excite-bike"><img src="../images/themeroller/theme_30_excite_bike.png" alt="Excite Bike" title="Excite Bike" />\r
-<br><span class="themeName">Excite Bike</span></a></li>\r
-\r
-<li><a  id="theme_j-vader"><img src="../images/themeroller/theme_30_black_matte.png" alt="Vader" title="Vader" />\r
-<br><span class="themeName">Vader</span></a></li>\r
-\r
-<li><a  id="theme_j-dot-luv"><img src="../images/themeroller/theme_30_dot_luv.png" alt="Dot Luv" title="Dot Luv" />\r
-<br><span class="themeName">Dot Luv</span></a></li>\r
-\r
-<li><a  id="theme_j-mint-choc"><img src="../images/themeroller/theme_30_mint_choco.png" alt="Mint Choc" title="Mint Choc" />\r
-<br><span class="themeName">Mint Choc</span></a></li>\r
-\r
-<li><a  id="theme_j-black-tie"><img src="../images/themeroller/theme_30_black_tie.png" alt="Black Tie" title="Black Tie" />\r
-<br><span class="themeName">Black Tie</span></a></li>\r
-\r
-<li><a  id="theme_j-trontastic"><img src="../images/themeroller/theme_30_trontastic.png" alt="Trontastic" title="Trontastic" />\r
-<br><span class="themeName">Trontastic</span></a></li>\r
-\r
-<li><a  id="theme_j-swanky-purse"><img src="../images/themeroller/theme_30_swanky_purse.png" alt="Swanky Purse" title="Swanky Purse" />\r
-<br><span class="themeName">Swanky Purse</span></a></li>\r
-    </ul>\r
-\r
-    </td><td>\r
-\r
-    <ul>\r
-  <li><a id='theme_r-greenHdg'>Green Heading</a></li>\r
-  <li><a id='theme_r-warmfall'>Warm Fall</a></li>\r
-  <li><a id='theme_r-seaglass'>Sea Glass</a></li>\r
-  <li><a id='theme_r-coffee-with-milk'>Coffee with milk</a></li>\r
-  <li><a id='theme_r-grayedout'>Grayed out</a></li>\r
-    </ul>\r
-\r
-  </td>\r
-  </tr>\r
-  </table>\r
-\r
-\r
-  </div>\r
-</div>\r
-\r
-<div>\r
-  <div>Choose the Base Library</div>\r
-  <div>\r
-<ul>\r
-<li><a id='lib_prototype/1.6/prototype.js'>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_min.js'>Glow 1.7</a>\r
-</ul>\r
-  </div>\r
-</div>\r
-\r
-</div>\r
-</body></html>\r
diff --git a/examples/php/menu.php b/examples/php/menu.php
new file mode 100644 (file)
index 0000000..97dfda4
--- /dev/null
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<html>\r
+<head>\r
+<title>Rico 3.0</title>\r
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8">\r
+\r
+<script src="../../ricoClient/js/proto_min.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico2pro.js" type="text/javascript"></script>\r
+<script src="../../ricoClient/js/rico_min.js" type="text/javascript"></script>\r
+<link href="../../ricoClient/css/rico.css" type="text/css" rel="stylesheet" />\r
+\r
+<script src="../menu.js" type="text/javascript"></script>\r
+<link href="../menu.css" type="text/css" rel="stylesheet">\r
+\r
+<!--[if lt IE 7]>\r
+  <style type="text/css">\r
+ul li {
+   height: 1%;\r
+}
+ </style>\r
+<![endif]-->\r
+</head>\r
+\r
+\r
+<body>\r
+\r
+<div id="menuheader">
+<p>Rico <span id='RicoVersion'></span> <span id='RicoDir'></span> Demo</p>\r
+</div>
+\r
+<div class='top'>\r
+<form action='' method='get' id='form1' target="content">\r
+<ul>\r
+<li id='demolist'>Example: <span id='demospan'></span>\r
+<li>Theme: <span id='themespan'></span><input type='hidden' name='theme' id='theme' value=''>\r
+<li>Base Lib: <span id='libspan'></span><input type='hidden' name='lib' id='lib' value=''>\r
+<li>PHP Version: <?php echo PHP_VERSION . ' ' . php_ini_loaded_file(); ?>\r
+<li><input type='checkbox' name='log'>&nbsp; Enable console logging\r
+<li><input type='checkbox' name='html5'>&nbsp; Enable HTML5 web form inputs\r
+</ul>\r
+</form>\r
+</div>\r
+\r
+\r
+<div id="accordion1">\r
+\r
+<div>\r
+  <div>Choose the Example</div>\r
+  <div>\r
+<ul>\r
+<li><a id="demo_widgets.php">Rico Widget Overview</a>\r
+<li><a id="demo_ex1.php">LiveGrid sourced from HTML table</a>\r
+<li><a id="demo_ex2xml.php">LiveGrid sourced from SQL database (xml)</a>\r
+<li><a id="demo_ex2json.php">LiveGrid sourced from SQL database (json)</a>\r
+<li><a id="demo_ShipperEdit.php">Editable LiveGrid (basic)</a>\r
+<li><a id="demo_ex2editfilter.php">Editable LiveGrid (advanced)</a>\r
+<li><a id="demo_ex2nosession.php">Editable LiveGrid without session vars</a>\r
+<li><a id="demo_photos.php">LiveGrid sourced from flickr</a>\r
+<li><a id="demo_simplegrid.php">SimpleGrid</a>\r
+<li><a id="demo_tree1.php">Tree control</a>\r
+<li><a id="demo_RicoDbViewer.php">Northwind data browser</a>\r
+</ul>\r
+  </div>\r
+</div>\r
+\r
+<div>\r
+  <div>Choose the Theme</div>\r
+  <div>\r
+  <table border='0'>\r
+  <tr>\r
+  <td>Themeroller<br>Themes</td><td>Rico<br>Themes</td>\r
+  </tr>\r
+  <tr valign='top'>\r
+  <td>\r
+\r
+    <ul>\r
+<li><a id="theme_j-ui-lightness"><img src="../images/themeroller/theme_30_ui_light.png" alt="UI Lightness" title="UI Lightness" />\r
+<br><span class="themeName">UI lightness</span></a></li>\r
+\r
+<li><a id="theme_j-ui-darkness"><img src="../images/themeroller/theme_30_ui_dark.png" alt="UI Darkness" title="UI Darkness" />\r
+<br><span class="themeName">UI darkness</span></a></li>\r
+\r
+<li><a id="theme_j-smoothness"><img src="../images/themeroller/theme_30_smoothness.png" alt="Smoothness" title="Smoothness" />\r
+<br><span class="themeName">Smoothness</span></a></li>\r
+\r
+<li><a id="theme_j-start"><img src="../images/themeroller/theme_30_start_menu.png" alt="Start" title="Start" />\r
+<br><span class="themeName">Start</span></a></li>\r
+\r
+<li><a id="theme_j-redmond"><img src="../images/themeroller/theme_30_windoze.png" alt="Redmond" title="Redmond" />\r
+<br><span class="themeName">Redmond</span></a></li>\r
+\r
+<li><a id="theme_j-sunny"><img src="../images/themeroller/theme_30_sunny.png" alt="Sunny" title="Sunny" />\r
+<br><span class="themeName">Sunny</span></a></li>\r
+\r
+<li><a  id="theme_j-overcast"><img src="../images/themeroller/theme_30_overcast.png" alt="Overcast" title="Overcast" />\r
+<br><span class="themeName">Overcast</span></a></li>\r
+\r
+<li><a  id="theme_j-le-frog"><img src="../images/themeroller/theme_30_le_frog.png" alt="Le Frog" title="Le Frog" />\r
+<br><span class="themeName">Le Frog</span></a></li>\r
+\r
+<li><a  id="theme_j-flick"><img src="../images/themeroller/theme_30_flick.png" alt="Flick" title="Flick" />\r
+<br><span class="themeName">Flick</span></a></li>\r
+\r
+<li><a  id="theme_j-pepper-grinder"><img src="../images/themeroller/theme_30_pepper_grinder.png" alt="Pepper Grinder" title="Pepper Grinder" />\r
+<br><span class="themeName">Pepper Grinder</span></a></li>\r
+\r
+<li><a  id="theme_j-eggplant"><img src="../images/themeroller/theme_30_eggplant.png" alt="Eggplant" title="Eggplant" />\r
+<br><span class="themeName">Eggplant</span></a></li>\r
+\r
+<li><a  id="theme_j-dark-hive"><img src="../images/themeroller/theme_30_dark_hive.png" alt="Dark Hive" title="Dark Hive" />\r
+<br><span class="themeName">Dark Hive</span></a></li>\r
+\r
+<li><a  id="theme_j-cupertino"><img src="../images/themeroller/theme_30_cupertino.png" alt="Cupertino" title="Cupertino" />\r
+<br><span class="themeName">Cupertino</span></a></li>\r
+\r
+<li><a  id="theme_j-south-street"><img src="../images/themeroller/theme_30_south_street.png" alt="South St" title="South St" />\r
+<br><span class="themeName">South Street</span></a></li>\r
+\r
+<li><a  id="theme_j-blitzer"><img src="../images/themeroller/theme_30_blitzer.png" alt="Blitzer" title="Blitzer" />\r
+<br><span class="themeName">Blitzer</span></a></li>    \r
+\r
+<li><a  id="theme_j-humanity"><img src="../images/themeroller/theme_30_humanity.png" alt="Humanity" title="Humanity" />\r
+<br><span class="themeName">Humanity</span></a></li>\r
+\r
+<li><a  id="theme_j-hot-sneaks"><img src="../images/themeroller/theme_30_hot_sneaks.png" alt="Hot Sneaks" title="Hot Sneaks" />\r
+<br><span class="themeName">Hot sneaks</span></a></li>\r
+\r
+<li><a  id="theme_j-excite-bike"><img src="../images/themeroller/theme_30_excite_bike.png" alt="Excite Bike" title="Excite Bike" />\r
+<br><span class="themeName">Excite Bike</span></a></li>\r
+\r
+<li><a  id="theme_j-vader"><img src="../images/themeroller/theme_30_black_matte.png" alt="Vader" title="Vader" />\r
+<br><span class="themeName">Vader</span></a></li>\r
+\r
+<li><a  id="theme_j-dot-luv"><img src="../images/themeroller/theme_30_dot_luv.png" alt="Dot Luv" title="Dot Luv" />\r
+<br><span class="themeName">Dot Luv</span></a></li>\r
+\r
+<li><a  id="theme_j-mint-choc"><img src="../images/themeroller/theme_30_mint_choco.png" alt="Mint Choc" title="Mint Choc" />\r
+<br><span class="themeName">Mint Choc</span></a></li>\r
+\r
+<li><a  id="theme_j-black-tie"><img src="../images/themeroller/theme_30_black_tie.png" alt="Black Tie" title="Black Tie" />\r
+<br><span class="themeName">Black Tie</span></a></li>\r
+\r
+<li><a  id="theme_j-trontastic"><img src="../images/themeroller/theme_30_trontastic.png" alt="Trontastic" title="Trontastic" />\r
+<br><span class="themeName">Trontastic</span></a></li>\r
+\r
+<li><a  id="theme_j-swanky-purse"><img src="../images/themeroller/theme_30_swanky_purse.png" alt="Swanky Purse" title="Swanky Purse" />\r
+<br><span class="themeName">Swanky Purse</span></a></li>\r
+    </ul>\r
+\r
+    </td><td>\r
+\r
+    <ul>\r
+  <li><a id='theme_r-greenHdg'>Green Heading</a></li>\r
+  <li><a id='theme_r-warmfall'>Warm Fall</a></li>\r
+  <li><a id='theme_r-seaglass'>Sea Glass</a></li>\r
+  <li><a id='theme_r-coffee-with-milk'>Coffee with milk</a></li>\r
+  <li><a id='theme_r-grayedout'>Grayed out</a></li>\r
+    </ul>\r
+\r
+  </td>\r
+  </tr>\r
+  </table>\r
+\r
+\r
+  </div>\r
+</div>\r
+\r
+<div>\r
+  <div>Choose the Base Library</div>\r
+  <div>\r
+<ul>\r
+<li><a id='lib_prototype/1.6/prototype.js'>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_min.js'>Glow 1.7</a>\r
+</ul>\r
+  </div>\r
+</div>\r
+\r
+</div>\r
+</body></html>\r
index c8f848b..325e357 100644 (file)
@@ -541,7 +541,7 @@ Rico.formatNumber=function(n,fmt) {
   if (isNaN(n)) return 'NaN';
   if (typeof fmt.multiplier=='number') n*=fmt.multiplier;
   var decPlaces=typeof fmt.decPlaces=='number' ? fmt.decPlaces : 0;
-  var thouSep=typeof fmt.thouSep=='undefined' ? true : this.thouSep;
+  var thouSep=typeof fmt.thouSep=='undefined' ? true : fmt.thouSep;
   var prefix=fmt.prefix || "";
   var suffix=fmt.suffix || "";
   var negSign=typeof fmt.negSign=='string' ? fmt.negSign : "L";
index eaba5e7..18787f2 100644 (file)
@@ -185,6 +185,7 @@ Rico.GridCommon = {
     this.direction=Rico.getStyle(this.outerDiv,'direction').toLowerCase();  // ltr or rtl
     this.align=this.direction=='rtl' ? ['right','left'] : ['left','right'];
     Rico.log('createColumnArray: dir='+this.direction);
+    for (var i=0; i<2; i++) Rico.addClass(this.thead[i].rows[this.headerRowIdx],'rico_ResizeRow');
     this.columns = [];
     for (var c=0; c < this.headerColCnt; c++) {
       Rico.log("createColumnArray: c="+c);
index 07ab41b..7a139a1 100644 (file)
@@ -717,7 +717,6 @@ Rico.LiveGridMethods = {
     // set headings
     for (i=0; i<2; i++) {
       this.thead[i]=this.tabs[i].createTHead();
-      //Rico.addClass(this.tabs[i],'ricoLG_top');
       this.thead[i].className='ricoLG_top';
       if (Rico.theme.gridheader) Rico.addClass(this.thead[i],Rico.theme.gridheader);
     }
@@ -819,8 +818,8 @@ Rico.LiveGridMethods = {
           var options={};\r
           Rico.extend(options, this.buffer.ajaxOptions);
           var colnum=typeof(fmt.filterCol)=='number' ? fmt.filterCol : c;
-          options.parameters = {id: this.tableId, distinct:colnum};
-          options.parameters[this.actionId]="query";
+          options.parameters = this.buffer.formQueryHashXML(0,-1);
+          options.parameters.distinct = colnum;
           options.onComplete = this.filterValuesUpdateFunc(c);
           new Rico.ajaxRequest(this.buffer.dataSource, options);
           break;\r
@@ -1672,7 +1671,7 @@ Rico.LiveGridMethods = {
  * @return array of matching column indexes
  */
   findColumnsBySpec: function(colAttr, colValue) {
-    var result=[]
+    var result=[];
     for (var n=0; n<this.options.columnSpecs.length; n++) {
       if (this.options.columnSpecs[n][colAttr] == colValue) result.push(n);
     }
index 4ada8ee..0687f5a 100644 (file)
@@ -244,7 +244,7 @@ Rico.TableColumn.link.prototype = {
     if (href && desc) {
       this._anchors[windowRow].href=href;
       this._anchors[windowRow].innerHTML=desc;
-      this._anchors[windowRow].style.display='';
+      this._anchors[windowRow].style.display=Rico.isIE ? 'inline-block' : '';
     } else {
       this._clear(gridCell,windowRow);
     }
index 3ce0585..5ce18dd 100644 (file)
@@ -444,8 +444,8 @@ Rico.TableEdit.prototype = {
       this.requestCount++;
       var options={}, self=this;
       Rico.extend(options, this.grid.buffer.ajaxOptions);
-      options.parameters = {id: this.grid.tableId, offset: '0', page_size: '-1', edit: column.index};
-      options.parameters[this.grid.actionId]="query";
+      options.parameters = this.grid.buffer.formQueryHashXML(0,-1);
+      options.parameters.edit = column.index;
       options.onComplete = function(request) { self.selectValuesUpdate(elem,request); };
       new Rico.ajaxRequest(this.grid.buffer.dataSource, options);
       Rico.log("selectValuesRequest: "+fldSpec.FieldName);
index 9d2408f..7160644 100644 (file)
@@ -73,12 +73,17 @@ Rico.TreeControl.prototype = {
 
   atLoad : function() {
     this.treeDiv=document.createElement("div");
-    this.treeDiv.id=this.id;
     this.treeDiv.className='ricoTree';
     if (Rico.theme.treeContent) Rico.addClass(this.treeDiv,Rico.theme.treeContent);
+    var elem=Rico.$(this.id);
+    if (elem) {
+      this.setDiv(elem, { position: 'auto' });
+    } else {
+      this.treeDiv.id=this.id;
+      this.createContainer();
+    }
     this.treeDiv.style.height=this.options.height;
     this.treeDiv.style.width=this.options.width;
-    this.createContainer();
     this.content.className=Rico.theme.tree || 'ricoTreeContainer';
     this.content.appendChild(this.treeDiv);
     if (this.options.showCheckBox) {
@@ -87,19 +92,19 @@ Rico.TreeControl.prototype = {
       this.buttonDiv.className='ricoTreeButtons';
       if (Rico.getStyle(this.container,'position')=='absolute') {
         var span=document.createElement("span");
-        span.innerHTML=RicoTranslate.getPhraseById('treeSave');
+        span.innerHTML=Rico.getPhraseById('treeSave');
         Rico.setStyle(span,{'float':'left',cursor:'pointer'});
         this.buttonDiv.appendChild(span);
         Rico.eventBind(span, 'click', Rico.eventHandle(this,'saveSelection'));
       }
       var span=document.createElement("span");
-      span.innerHTML=RicoTranslate.getPhraseById('treeClear');
+      span.innerHTML=Rico.getPhraseById('treeClear');
       Rico.setStyle(span,{'float':'right',cursor:'pointer'});
       this.buttonDiv.appendChild(span);
       this.content.appendChild(this.buttonDiv);
       Rico.eventBind(span, 'click', Rico.eventHandle(this,'clrCheckBoxEvent'));
     }
-    this.close();
+    if (this.position == 'absolute') this.close();
   },
 
   setTreeDiv: function(divId) {
index ecc3d14..c8f8821 100644 (file)
@@ -4,12 +4,12 @@ class SimpleGridCell {
   var $content;\r
   var $attr;\r
 \r
-  function SimpleGridCell() {\r
+  function __construct() {\r
     $this->attr=array();\r
   }\r
 \r
-  function Class_Terminate() {\r
-    unset($this->attr); // WARNING: class_terminate will not be automatically called\r
+  function __destruct() {\r
+    unset($this->attr);\r
   }\r
 \r
   function HeadingCell() {\r
@@ -57,13 +57,13 @@ class SimpleGridRow {
   var $attr;\r
   var $CurrentCell;\r
 \r
-  function SimpleGridRow() {\r
+  function __construct() {\r
     $this->cells=array();\r
     $this->attr=array();\r
   }\r
 \r
-  function Class_Terminate() {\r
-    $this->attr=NULL; // WARNING: class_terminate will not be automatically called\r
+  function __destruct() {\r
+    $this->attr=NULL;\r
   }\r
 \r
   function AddCell($content) {\r
@@ -119,7 +119,7 @@ class SimpleGrid {
   var $LastHeadingRow;\r
   var $ResizeRowIdx=-1;\r
 \r
-  function SimpleGrid() {\r
+  function __construct() {\r
     $this->rows=array();\r
   }\r
 \r
diff --git a/plugins/php/rico.php b/plugins/php/rico.php
new file mode 100644 (file)
index 0000000..2be85a8
--- /dev/null
@@ -0,0 +1,232 @@
+<?php
+namespace Rico;
+
+// Requires PHP 5.3+
+// Using static members in a class makes this combatible with PHP 5.0+ and effectively gives us a namespace
+
+class Client {
+
+  // Load Rico client files and create style sheet
+
+  static public $jsDir="../../ricoClient/js/";       // directory containing Rico's javascript files
+  static public $cssDir="../../ricoClient/css/";     // directory containing Rico's css files
+  static public $imgDir="../../ricoClient/images/";  // directory containing Rico's image files
+  static public $transDir;
+  static public $checkQueryString = false; // load settings from QueryString? true only for demo
+
+  // The base Javascript library to load from http://ajax.googleapis.com/ajax/libs/, possible values include:
+  //
+  //   prototype/1.6/prototype.js
+  //   prototype/1.7/prototype.js
+  //   jquery/1.3/jquery.min.js
+  //   jquery/1.4/jquery.min.js
+  //   jquery/1.5/jquery.min.js
+  //   jquery/1.6/jquery.min.js
+  //   mootools/1.2/mootools-yui-compressed.js
+  //   mootools/1.3/mootools-yui-compressed.js
+  //   dojo/1.5/dojo/dojo.xd.js
+  //   dojo/1.6/dojo/dojo.xd.js
+  //   ext-core/3.0/ext-core.js
+  //   ext-core/3.1/ext-core.js
+  //
+  // Default value is "proto_min.js", which loads prototype 1.7 from jsDir.
+  static public $BaseLib = "proto_min.js";
+
+  // Enable Javascript console logging? Useful for debugging. Default is false.
+  static public $Logging = false;
+
+  // Enable HTML5 web form elements in browsers that support them.
+  // Default is false because the quality of the HTML5 web form elements is uneven across browsers.
+  static public $HTML5 = false;
+
+  // Best left unset, in which case language will be set automatically based on request's HTTP_ACCEPT_LANGUAGE
+  // However, if you want to present the same locale settings to all users, then you can set this value to force the desired locale.
+  static public $Language;
+
+  // Load base Javascript library (prototype, jQuery, etc)?
+  // Default is true.
+  // Set to false if library is being loaded another way. In this case, a BaseLib value is still required to indicate
+  // which library Rico should connect to.
+  static public $LoadBaseLib = true;
+
+  // Apply row striping to LiveGrids? Default is true. Applies only when themes are used.
+  static public $Striping = true;
+
+  // Background image for grid headings and window titles.
+  // Should be left unset, as it is used only for the grayedout theme (in which case it is set automatically).
+  static public $ImgHeading;
+
+  // Comma separated list of 2 letter locales that Rico supports.
+  // Do not set unless you have developed your own locale file.
+  static public $SupportedLangs = "de,es,fr,it,ja,ko,pt,ru,uk,zh";
+
+  // URL to load jQuery themes from.
+  // Default is http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/
+  // Override this value if you have a jQuery theme on your own server.
+  static public $jQueryThemePath = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/";
+
+  static public $theme;  // jquery themes start with j-, rico themes start with r-
+  static protected $lang2;
+
+  // set locale
+  static public function SetLocale() {
+    $lang=strtolower(isset(self::$Language) ? self::$Language : $_SERVER["HTTP_ACCEPT_LANGUAGE"]);
+    $arLang=explode(",",$lang);
+    $transdir=isset(self::$transdir) ? self::$transdir : self::$jsDir;
+    for ($i=0; $i<count($arLang); $i++) {
+      $lang2=substr(trim($arLang[$i]),0,2);
+      if ($lang2=='en') break; // already included
+      if (strpos(self::$SupportedLangs,$lang2) !== false) {
+      //if (file_exists($fname)) {
+        $fname=$transDir."ricoLocale_".$lang2.".js";
+        echo "<script src='".$fname."' type='text/javascript'></script>\n";
+        break;
+      }
+    }
+    self::$lang2 = $i<count($arLang) ? $lang2 : "en";
+  }
+
+  // Returns the 2 character string representing the Rico locale file that was actually used on the client.
+  // if there is no match between the requested languages and the available locale files, then english is used.
+  // Only available after renderHead has been called.
+  function LoadedLanguage() {
+    return self::$lang2;
+  }
+
+}
+
+
+// initializes the class with the values in the options associative array
+function init($options) {
+  foreach ($options as $property => $value) {
+    Client::$$property = $value;
+  }
+}
+
+// This function writes out the required Rico settings in the head section of the html document
+function renderHead() {
+  if (Client::$checkQueryString) {
+    Client::$BaseLib=$_GET['lib'];
+    Client::$theme=$_GET["theme"];
+    Client::$Logging=isset($_GET["log"]);
+    Client::$HTML5=isset($_GET["html5"]);
+  }
+
+  $a=array();
+  if (Client::$Logging) $a[] = "enableLogging: true";
+  if (Client::$HTML5) $a[] = "enableHTML5: true";
+  if (count($a) > 0) {
+    echo "\n<script type='text/javascript'>\n";
+    echo "Rico_CONFIG = { " . implode(", ", $a) . " };\n";
+    echo "</script>\n";
+  }
+
+  if (Client::$LoadBaseLib) {
+    if (strpos(Client::$BaseLib,"/") === false) {
+      echo "<script src='".Client::$jsDir.Client::$BaseLib."' type='text/javascript'></script>\n";
+    } else {
+      echo "<script src='http://ajax.googleapis.com/ajax/libs/".Client::$BaseLib."' type='text/javascript'></script>\n";
+    }
+  }
+  requireRicoJS("2" . substr(Client::$BaseLib,0,3));
+  requireRicoJS("_min");
+  requireRicoCSS("rico");
+  
+  Client::SetLocale();
+
+  // load theme
+
+  if (isset(Client::$theme) && strlen(Client::$theme) > 2) {
+    $prefix=substr(Client::$theme,0,1);
+    $themeName=substr(Client::$theme,2);
+    switch ($prefix) {
+      case 'j':
+        requireRicoJS("Themeroller");
+        echo "<link type='text/css' rel='Stylesheet' href='" . Client::$jQueryThemePath . $themeName . "/jquery-ui.css' />\n";
+        break;
+      case 'r':
+        requireRicoCSS($themeName);
+        break;
+    }
+    if (Client::$Striping) {
+      echo "<link type='text/css' rel='stylesheet' href='".Client::$cssDir."striping_".$themeName.".css' />\n";
+    }
+  }
+
+  // write css styles
+
+  echo "<style type='text/css'>\n";
+  //For Each ctrl As Control In Page.Controls
+  //    if TypeOf (ctrl) Is GridBase Then writer.Write(CType(ctrl, GridBase).GridRules())
+  //    if TypeOf (ctrl) Is LiveGrid Then writer.Write(CType(ctrl, LiveGrid).ColumnRules())
+  //Next
+  if (!isset(Client::$ImgHeading) && Client::$theme=="r-grayedout") Client::$ImgHeading=Client::$imgDir."grayedout.gif";
+  if (isset(Client::$ImgHeading)) {
+    echo ".Rico_accTitle, .ricoTitle, table.ricoLiveGrid thead th, table.ricoLiveGrid thead td, tr.ricoLG_hdg td, tr.ricoLG_hdg th {\n";
+    echo "  background-position: left center;\n";
+    echo "  background-repeat: repeat-x;\n";
+    echo "  background-image: url('" . Client::$ImgHeading . "');\n";
+    echo "}\n";
+  }
+  echo ".ricoLG_Resize {\n";
+  echo "  background-repeat: repeat;\n";
+  echo "  background-image: url('" . Client::$imgDir . "resize.gif');\n";
+  echo "}\n";
+  echo ".rico-icon {\n";
+  echo "  background-repeat: no-repeat;\n";
+  echo "  background-image: url('" . Client::$imgDir . "ricoIcons.gif');\n";
+  echo "}\n";
+  echo "</style>\n";
+}
+
+function requireRicoJS($filename) {
+  echo "<script src='".Client::$jsDir."rico".$filename.".js' type='text/javascript'></script>\n";
+}
+
+function requireRicoCSS($filename) {
+  echo "<link href='".Client::$cssDir.$filename.".css' type='text/css' rel='stylesheet' />\n";
+}  
+  
+
+abstract class GridBase {
+  protected $id;
+  
+  // Name of grid Javascript object
+  public function gridVar() {
+    return $this->id . ".grid";
+  }
+  
+  // Name of grid options Javascript object
+  public function optionsVar() {
+    return $this->id . ".options";
+  }
+  
+  // If enabled, an additional row is added to the grid header where column filters are placed. 
+  // See the EditCol.filterUI property to customize each column's filter.
+  public $AutoFilter = false;
+  
+  // The token in select filters used to indicate "show all values" (default: "___ALL___").
+  public $FilterAllToken;
+
+  // if unset, then use column heading width, otherwise this is the default width in pixels
+  public $defaultWidth;
+
+  // Allow user to resize columns? Default is true.
+  public $allowColResize;
+
+  // Number of frozen columns on the left (or right if direction=rtl). Default is 0.
+  public $frozenColumns;
+
+  // Height of one line of text in ems. Default is 1.2, which should be fine for almost all situations.
+  public $RowLineHtEms = 1.2;
+
+  // Resize grid when browser window is resized? Default is true.
+  public $windowResize;
+  
+  // Specifies when the grid's popup menu should be invoked
+  public $menuEvent;
+  
+}
+
+?>
+
index a1d72ae..6904f64 100644 (file)
@@ -59,9 +59,9 @@ div.ricoLG_highlightDiv {
 }\r
 \r
 .ricoLG_FilterRow div.ricoLG_cell {\r
-  height:1.6em !important;\r
-  line-height: 1.6em !important;\r
-  white-space: nowrap !important;\r
+  height:1.6em;\r
+  line-height: 1.6em;\r
+  white-space: nowrap;\r
 }\r
 .ricoLG_FilterRow  div.ricoLG_cell * {\r
   vertical-align: top;\r
@@ -484,6 +484,10 @@ a.RicoButtonAnchorNative:hover {
   white-space:nowrap;\r
 }\r
 \r
+.ricoTreeButtons {\r
+  height:1.1em;\r
+}\r
+\r
 .ricoTreeButtons span:hover {\r
   background-color:#deeecd;\r
 }\r
index 70b4965..a1ccaaa 100644 (file)
@@ -253,7 +253,7 @@ Rico.formatNumber=function(b,c){if(typeof b=="string"){b=parseFloat(b.replace(/,
 }if(isNaN(b)){return"NaN"
 }if(typeof c.multiplier=="number"){b*=c.multiplier
 }var h=typeof c.decPlaces=="number"?c.decPlaces:0;
-var e=typeof c.thouSep=="undefined"?true:this.thouSep;
+var e=typeof c.thouSep=="undefined"?true:c.thouSep;
 var d=c.prefix||"";
 var f=c.suffix||"";
 var a=typeof c.negSign=="string"?c.negSign:"L";
@@ -1759,30 +1759,32 @@ var a=this;
 Rico.onLoad(function(){a.atLoad()
 })
 },atLoad:function(){this.treeDiv=document.createElement("div");
-this.treeDiv.id=this.id;
 this.treeDiv.className="ricoTree";
 if(Rico.theme.treeContent){Rico.addClass(this.treeDiv,Rico.theme.treeContent)
+}var b=Rico.$(this.id);
+if(b){this.setDiv(b,{position:"auto"})
+}else{this.treeDiv.id=this.id;
+this.createContainer()
 }this.treeDiv.style.height=this.options.height;
 this.treeDiv.style.width=this.options.width;
-this.createContainer();
 this.content.className=Rico.theme.tree||"ricoTreeContainer";
 this.content.appendChild(this.treeDiv);
 if(this.options.showCheckBox){this.buttonDiv=document.createElement("div");
 this.buttonDiv.style.width=this.options.width;
 this.buttonDiv.className="ricoTreeButtons";
 if(Rico.getStyle(this.container,"position")=="absolute"){var a=document.createElement("span");
-a.innerHTML=RicoTranslate.getPhraseById("treeSave");
+a.innerHTML=Rico.getPhraseById("treeSave");
 Rico.setStyle(a,{"float":"left",cursor:"pointer"});
 this.buttonDiv.appendChild(a);
 Rico.eventBind(a,"click",Rico.eventHandle(this,"saveSelection"))
 }var a=document.createElement("span");
-a.innerHTML=RicoTranslate.getPhraseById("treeClear");
+a.innerHTML=Rico.getPhraseById("treeClear");
 Rico.setStyle(a,{"float":"right",cursor:"pointer"});
 this.buttonDiv.appendChild(a);
 this.content.appendChild(this.buttonDiv);
 Rico.eventBind(a,"click",Rico.eventHandle(this,"clrCheckBoxEvent"))
-}this.close()
-},setTreeDiv:function(a){this.treeDiv=Rico.$(a);
+}if(this.position=="absolute"){this.close()
+}},setTreeDiv:function(a){this.treeDiv=Rico.$(a);
 this.openPopup=function(){}
 },open:function(){this.openPopup();
 if(this.treeDiv.childNodes.length==0&&this.dataSource){this.loadXMLDoc()
@@ -1989,17 +1991,20 @@ var i=Rico.wrapChildren(d,"ricoLG_col");
 Rico.wrapChildren(i,"ricoLG_cell");
 this.hdrCells[a].push({cell:d,colSpan:1})
 }}return a
-},createColumnArray:function(b){this.direction=Rico.getStyle(this.outerDiv,"direction").toLowerCase();
+},createColumnArray:function(d){this.direction=Rico.getStyle(this.outerDiv,"direction").toLowerCase();
 this.align=this.direction=="rtl"?["right","left"]:["left","right"];
 Rico.log("createColumnArray: dir="+this.direction);
-this.columns=[];
-for(var e=0;
-e<this.headerColCnt;
-e++){Rico.log("createColumnArray: c="+e);
-var d=e<this.options.frozenColumns?0:1;
-var a=new Rico[b](this,e,this.hdrCells[this.headerRowIdx][e],d);
+for(var b=0;
+b<2;
+b++){Rico.addClass(this.thead[b].rows[this.headerRowIdx],"rico_ResizeRow")
+}this.columns=[];
+for(var f=0;
+f<this.headerColCnt;
+f++){Rico.log("createColumnArray: c="+f);
+var e=f<this.options.frozenColumns?0:1;
+var a=new Rico[d](this,f,this.hdrCells[this.headerRowIdx][f],e);
 this.columns.push(a);
-if(e>0){this.columns[e-1].next=a
+if(f>0){this.columns[f-1].next=a
 }}this.getCookie();
 Rico.runLater(100,this,"insertResizers")
 },insertResizers:function(){if(!this.options.allowColResize){return
@@ -3148,8 +3153,8 @@ e.filterField=j;
 var m={};
 Rico.extend(m,this.buffer.ajaxOptions);
 var a=typeof(f.filterCol)=="number"?f.filterCol:h;
-m.parameters={id:this.tableId,distinct:a};
-m.parameters[this.actionId]="query";
+m.parameters=this.buffer.formQueryHashXML(0,-1);
+m.parameters.distinct=a;
 m.onComplete=this.filterValuesUpdateFunc(h);
 new Rico.ajaxRequest(this.buffer.dataSource,m);
 break;
@@ -4089,7 +4094,7 @@ return encodeURIComponent(c.getWindowValue(f,h))
 var e=this._linktext||b;
 if(a&&e){this._anchors[f].href=a;
 this._anchors[f].innerHTML=e;
-this._anchors[f].style.display=""
+this._anchors[f].style.display=Rico.isIE?"inline-block":""
 }else{this._clear(d,f)
 }}};
 Rico.TableColumn.image=function(a,b){this.initialize(a,b)
@@ -4260,8 +4265,8 @@ b=0
 }},handleTimedOut:function(){Rico.log("Request Timed Out");
 this.liveGrid.showMsg(Rico.getPhraseById("requestTimedOut"))
 },formQueryHashXML:function(e,c){var d={id:this.liveGrid.tableId,page_size:(typeof c=="number")?c:this.totalRows,offset:e.toString()};
-if(!this.foundRowCount){d.get_total="true"
-}if(this.options.requestParameters){for(var f=0;
+d[this.liveGrid.actionId]="query";
+if(this.options.requestParameters){for(var f=0;
 f<this.options.requestParameters.length;
 f++){var g=this.options.requestParameters[f];
 if(g.name!=undefined&&g.value!=undefined){d[g.name]=g.value
@@ -4483,8 +4488,8 @@ new Rico.ajaxRequest(this.dataSource,this.ajaxOptions)
 };
 this.dataSource(this.ajaxOptions)
 }},formQueryHashSQL:function(g,h,d){var k=this.formQueryHashXML(g,h);
-k[this.liveGrid.actionId]="query";
-if(d){k._fmt=d
+if(!this.foundRowCount){k.get_total="true"
+}if(d){k._fmt=d
 }Rico.extend(k,this.sortParm);
 for(var b=0;
 b<this.liveGrid.columns.length;
@@ -4836,8 +4841,8 @@ e++){this.addSelectOption(g,b[e],b[e],e)
 }}else{this.requestCount++;
 var d={},c=this;
 Rico.extend(d,this.grid.buffer.ajaxOptions);
-d.parameters={id:this.grid.tableId,offset:"0",page_size:"-1",edit:f.index};
-d.parameters[this.grid.actionId]="query";
+d.parameters=this.grid.buffer.formQueryHashXML(0,-1);
+d.parameters.edit=f.index;
 d.onComplete=function(h){c.selectValuesUpdate(g,h)
 };
 new Rico.ajaxRequest(this.grid.buffer.dataSource,d);