Back-propagated Rico 3 fix for Rico.TableColumn.Link to Rico 2. Added server-side...
authorMatt Brown <dowdybrown@yahoo.com>
Sat, 23 Jul 2011 18:45:11 +0000 (18:45 +0000)
committerMatt Brown <dowdybrown@yahoo.com>
Sat, 23 Jul 2011 18:45:11 +0000 (18:45 +0000)
git-svn-id: svn://svn.code.sf.net/p/openrico/code/trunk/rico3@96 53df2df2-7ab5-4331-af62-ea79255fa4e2

bin/Rico.dll
bin/Rico.xml
documentation/LiveGrid.html
documentation/LiveGridForms.html
minsrc/ricoLiveGridForms.js
ricoClient/css/rico.css

index 0620359..4dee26f 100644 (file)
Binary files a/bin/Rico.dll and b/bin/Rico.dll differ
index 2163a66..4504cac 100644 (file)
@@ -146,28 +146,28 @@ Rico
        <summary>\r
  Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth.\r
  </summary>\r
        <summary>\r
  Initial width of the column in pixels. Default is to use SimpleGrid.defaultWidth.\r
  </summary>\r
+</member><member name="T:Rico.SimpleCol">\r
+       <summary>\r
+ Defines a column in a SimpleGrid\r
+ </summary>\r
 </member><member name="F:Rico.Column.canSort">\r
        <summary>\r
  Is the user allowed to sort the column? Default is true.\r
  </summary>\r
 </member><member name="F:Rico.Column.canSort">\r
        <summary>\r
  Is the user allowed to sort the column? Default is true.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.canDrag">\r
        <summary>\r
  Is the user allowed to drag a column value? Default is false.\r
  </summary>\r
 </member><member name="F:Rico.Column.canDrag">\r
        <summary>\r
  Is the user allowed to drag a column value? Default is false.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.canFilter">\r
        <summary>\r
  Is the user allowed to filter the column? Default is true.\r
  </summary>\r
 </member><member name="F:Rico.Column.canFilter">\r
        <summary>\r
  Is the user allowed to filter the column? Default is true.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.control">\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
  </summary>\r
 </member><member name="F:Rico.Column.control">\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
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.filterUI">\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
 </member><member name="F:Rico.Column.filterUI">\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
@@ -175,39 +175,33 @@ Rico
                        <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>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 text to each item.</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
                </list>\r
        </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.filterColId">\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
  </summary>\r
 </member><member name="F:Rico.Column.filterColId">\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
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.ConfirmDeleteColumn">\r
        <summary>\r
  The text content of this column will be included in delete confirmation messages.\r
  </summary>\r
 </member><member name="F:Rico.Column.ConfirmDeleteColumn">\r
        <summary>\r
  The text content of this column will be included in delete confirmation messages.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.multiplier">\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
  </summary>\r
 </member><member name="F:Rico.Column.multiplier">\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
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.decPlaces">\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
  </summary>\r
 </member><member name="F:Rico.Column.decPlaces">\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
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.thouSep">\r
        <summary>\r
  If column is a number, display the value with a thousands separator? Default is true.\r
  </summary>\r
 </member><member name="F:Rico.Column.thouSep">\r
        <summary>\r
  If column is a number, display the value with a thousands separator? Default is true.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.Column.negSign">\r
        <summary>\r
  Specifies how negative numbers should be displayed. Possible values:\r
 </member><member name="F:Rico.Column.negSign">\r
        <summary>\r
  Specifies how negative numbers should be displayed. Possible values:\r
@@ -268,19 +262,139 @@ Rico
        <summary>\r
  Returns an Excel-type number format string based on decPlaces, thouSep, prefix.\r
  </summary>\r
        <summary>\r
  Returns an Excel-type number format string based on decPlaces, thouSep, prefix.\r
  </summary>\r
-       <returns></returns>\r
-       <remarks></remarks>\r
 </member><member name="P:Rico.Column.DataType">\r
        <summary>\r
  Type of data stored in the column.\r
  </summary>\r
 </member><member name="P:Rico.Column.DataType">\r
        <summary>\r
  Type of data stored in the column.\r
  </summary>\r
-       <value></value>\r
-       <returns></returns>\r
-       <remarks></remarks>\r
+</member><member name="M:Rico.Column.script">\r
+       <summary>\r
+ Internal function that returns the LiveGrid column options object, used to initialize the column on the client.\r
+ </summary>\r
 </member><member name="T:Rico.Column">\r
        <summary>\r
  Base class for a LiveGrid column\r
  </summary>\r
 </member><member name="T:Rico.Column">\r
        <summary>\r
  Base class for a LiveGrid column\r
  </summary>\r
+</member><member name="F:Rico.FormulaCol.Formula">\r
+       <summary>\r
+ SQL expression\r
+ </summary>\r
+</member><member name="T:Rico.FormulaCol">\r
+       <summary>\r
+ Calculated Column\r
+ </summary>\r
+</member><member name="F:Rico.TableCol.ColName">\r
+       <summary>\r
+ Column name in table or view\r
+ </summary>\r
+</member><member name="F:Rico.TableCol.TblAlias">\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
+ </summary>\r
+</member><member name="F:Rico.TableCol.TableIdx">\r
+       <summary>\r
+ Used internally\r
+ </summary>\r
+</member><member name="T:Rico.TableCol">\r
+       <summary>\r
+ Column from table or view\r
+ </summary>\r
+</member><member name="F:Rico.EditCol.pattern">\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
+       <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="F:Rico.EditCol.max">\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
+ </summary>\r
+</member><member name="F:Rico.EditCol.Help">\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
+ </summary>\r
+</member><member name="F:Rico.EditCol.ColData">\r
+       <summary>\r
+ column's default value in the form view\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
+       <summary>\r
+ For entry type "CL", this property specifies the id of the custom control.\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
+       <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
+ </summary>\r
+</member><member name="F:Rico.EditCol.FilterFlag">\r
+       <summary>\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.EditCol.InsertOnly">\r
+       <summary>\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.EditCol.UpdateOnly">\r
+       <summary>\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.EditCol.ReadOnly">\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
+ </summary>\r
 </member><member name="F:Rico.EditCol.FormView">\r
        <summary>\r
                <list type="table">\r
 </member><member name="F:Rico.EditCol.FormView">\r
        <summary>\r
                <list type="table">\r
@@ -288,6 +402,43 @@ Rico
                        <item><term>False</term><description>Item is not shown on the form</description></item>\r
                </list>\r
        </summary>\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="F:Rico.EditCol.DescriptionCol">\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
+       <summary>\r
+ Used internally. Populates automatically based on DescriptionCol.\r
+ </summary>\r
+</member><member name="F:Rico.EditCol.noFormBreak">\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
+ </summary>\r
+</member><member name="M:Rico.EditCol.isLookupField">\r
+       <summary>\r
+ Returns true if the column is a lookup field (entry type SL, RL, or CL)\r
+ </summary>\r
 </member><member name="P:Rico.EditCol.EntryType">\r
        <summary>\r
  Code indicating the ui to be used for data entry\r
 </member><member name="P:Rico.EditCol.EntryType">\r
        <summary>\r
  Code indicating the ui to be used for data entry\r
@@ -309,26 +460,188 @@ Rico
                        <item><term>H</term><description>Hidden</description></item>\r
                </list>\r
        </summary>\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="F:Rico.LiveGridBase.dbConnection">\r
+       <summary>\r
+ Database connection object (used when data source is a SQL query)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.canSortDefault">\r
+       <summary>\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.LiveGridBase.canHideDefault">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.canFilterDefault">\r
+       <summary>\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.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
+       <summary>\r
+ Load the buffer (and therefore the grid) on page load? (default: true)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.DisplayTimer">\r
+       <summary>\r
+ Display the session timer above the grid? (default: true)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.DisplayBookmark">\r
+       <summary>\r
+ Display the grid bookmark, ie. "Listing records X - Y of Z" (default: true)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.Caption">\r
+       <summary>\r
+ A caption for the grid, displayed next to the bookmark (default: nothing)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.click">\r
+       <summary>\r
+ Javascript event handler called when the user left-clicks on a cell\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.dblclick">\r
+       <summary>\r
+ Javascript event handler called when the user double-clicks on a cell\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.contextmenu">\r
+       <summary>\r
+ Javascript event handler called when the user right-clicks on a cell\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.beforeInit">\r
+       <summary>\r
+ A Javascript function to be called right before the grid is initialized.\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.afterInit">\r
+       <summary>\r
+ A Javascript function to be called right after the grid is initialized.\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.TableFilter">\r
+       <summary>\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="F:Rico.LiveGridBase.saveColumnWidth">\r
+       <summary>\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="F:Rico.LiveGridBase.saveColumnFilter">\r
+       <summary>\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="F:Rico.LiveGridBase.saveColumnSort">\r
+       <summary>\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="F:Rico.LiveGridBase.cookieDays">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.DefaultSort">\r
+       <summary>\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.LiveGridBase.maxPrint">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.dndMgrIdx">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.sessions">\r
+       <summary>\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.LiveGridBase.minPageRows">\r
+       <summary>\r
+ Minimum # of visible rows. Used only when visibleRows &lt; 0. (default: 2)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.maxPageRows">\r
+       <summary>\r
+ Maximum # of visible rows. Used only when visibleRows &lt; 0. (default: 50)\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.ColGroupsOnTabHdr">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.sendDebugMsgs">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.LogSqlOnError">\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
+ </summary>\r
+</member><member name="F:Rico.LiveGridBase.fmt">\r
+       <summary>\r
+ Format of data returned by AJAX calls, either "xml" or "json" (defaul: xml).\r
+ </summary>\r
 </member><member name="F:Rico.LiveGridBase.largeBufferSize">\r
        <summary>\r
 </member><member name="F:Rico.LiveGridBase.largeBufferSize">\r
        <summary>\r
- controls size of client buffer and AJAX fetch size\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.LiveGridBase.requestParameters">\r
+       <summary>\r
+ Optional parameters to be passed along during the AJAX call\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.formVar">\r
        <summary>\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.formVar">\r
        <summary>\r
name of Javascript object containing LiveGrid Edit\r
Name of the Javascript variable containing the LiveGrid Edit object\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.bufferVar">\r
        <summary>\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.bufferVar">\r
        <summary>\r
- name of Javascript object containing LiveGrid buffer\r
+ Name of the Javascript variable containing the LiveGrid buffer object\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.bufferOptVar">\r
        <summary>\r
  </summary>\r
 </member><member name="P:Rico.LiveGridBase.bufferOptVar">\r
        <summary>\r
name of Javascript object containing initial LiveGrid buffer options\r
Name of the Javascript variable containing the initial LiveGrid buffer options\r
  </summary>\r
 </member><member name="F:Rico.LiveGridBase.SqlCompat">\r
        <summary>\r
  Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set.\r
  </summary>\r
  </summary>\r
 </member><member name="F:Rico.LiveGridBase.SqlCompat">\r
        <summary>\r
  Provides a set of functions that mask differences across various SQL dialects. Available once dbDialect is set.\r
  </summary>\r
+</member><member name="P:Rico.LiveGridBase.dbDialect">\r
+       <summary>\r
+ When connecting to SQL databases, this is the SQL dialect to use.\r
+ </summary>\r
+</member><member name="P:Rico.LiveGridBase.dataProvider">\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
+ </summary>\r
 </member><member name="P:Rico.LiveGridBase.rows">\r
        <summary>\r
  Number of visible rows in the grid.\r
 </member><member name="P:Rico.LiveGridBase.rows">\r
        <summary>\r
  Number of visible rows in the grid.\r
@@ -344,19 +657,15 @@ Rico
        <summary>\r
  Collection of ColumnGroup objects, which define the headings used above each group of columns.\r
  </summary>\r
        <summary>\r
  Collection of ColumnGroup objects, which define the headings used above each group of columns.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="F:Rico.LiveGridBase.Tables">\r
        <summary>\r
  Defines the tables used by the LiveGrid. The first table is primary/main table.\r
  </summary>\r
 </member><member name="F:Rico.LiveGridBase.Tables">\r
        <summary>\r
  Defines the tables used by the LiveGrid. The first table is primary/main table.\r
  </summary>\r
-       <remarks></remarks>\r
 </member><member name="M:Rico.LiveGridBase.ColClassName(System.Int32)">\r
        <summary>\r
  Returns the class name of the specified grid column\r
  </summary>\r
        <param name="colnum"></param>\r
 </member><member name="M:Rico.LiveGridBase.ColClassName(System.Int32)">\r
        <summary>\r
  Returns the class name of the specified grid column\r
  </summary>\r
        <param name="colnum"></param>\r
-       <returns></returns>\r
-       <remarks></remarks>\r
 </member><member name="M:Rico.LiveGridBase.AddColumn(Rico.Column)">\r
        <summary>\r
  Adds a new column to grid, returns column index\r
 </member><member name="M:Rico.LiveGridBase.AddColumn(Rico.Column)">\r
        <summary>\r
  Adds a new column to grid, returns column index\r
@@ -383,7 +692,7 @@ Rico
  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
  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 once from a remote source, such as an XML file</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
                        <item><term>Base</term><description>data is static, loaded from either an html table or javascript array</description></item>\r
                </list>\r
        </summary>\r
@@ -398,6 +707,7 @@ Rico
 </member><member name="T:Rico.LiveGrid">\r
        <summary>\r
  Class to define a LiveGrid\r
 </member><member name="T:Rico.LiveGrid">\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
  </summary>\r
 </member><member name="M:Rico.TableCollection.IndexOf(System.String)">\r
        <summary>\r
  </summary>\r
 </member><member name="M:Rico.TableCollection.IndexOf(System.String)">\r
        <summary>\r
@@ -729,6 +1039,45 @@ Rico
        <summary>\r
  Class to define a SimpleGrid\r
  </summary>\r
        <summary>\r
  Class to define a SimpleGrid\r
  </summary>\r
+</member><member name="F:Rico.LiveGridEdit.onFormOpen">\r
+       <summary>\r
+ Javascript function to be called when the form opens to add or edit a record\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridEdit.onFormClose">\r
+       <summary>\r
+ Javascript function to be called when the add/edit form closes\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridEdit.onFormSubmit">\r
+       <summary>\r
+ Javascript function to be called when the add/edit form is submitted to the server\r
+ </summary>\r
+</member><member name="F:Rico.LiveGridEdit.onSubmitResponse">\r
+       <summary>\r
+ Javascript function to be called when a response is received from the server after a form submittal\r
+ </summary>\r
+</member><member name="E:Rico.LiveGridEdit.DbDelete">\r
+       <summary>\r
+ Event raised right before the database deletion takes place.\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
+       <summary>\r
+ Event raised right before the database insertion 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 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
+ 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
+ Returns where clause based on table's primary key\r
+ </summary>\r
+       <param name="TabIdx"></param>\r
 </member>\r
 </members>\r
 </doc>
\ No newline at end of file
 </member>\r
 </members>\r
 </doc>
\ No newline at end of file
index 73603ea..bdcdabe 100644 (file)
@@ -269,10 +269,10 @@ You may choose one of the included styles or create one of your own.
 </dl>\r
 \r
 <li>Create a Rico Buffer, which fetches data to populate the table.\r
 </dl>\r
 \r
 <li>Create a Rico Buffer, which fetches data to populate the table.\r
-The AjaxXML buffer makes just one request for data to the supplied URL\r
+The AjaxLoadOnce buffer makes just one request for data to the supplied URL\r
 at grid startup.\r
 <pre>\r
 at grid startup.\r
 <pre>\r
-var buffer = new Rico.Buffer.AjaxXML('/controller/action?format=xml');\r
+var buffer = new Rico.Buffer.AjaxLoadOnce('/controller/action?format=xml');\r
 </pre>\r
 \r
 The URL ("/controller/action?format=xml" in this example) must return data in the following format:\r
 </pre>\r
 \r
 The URL ("/controller/action?format=xml" in this example) must return data in the following format:\r
@@ -304,7 +304,7 @@ Rico.onLoad method. Putting all of the javascript together would look like this:
 Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
 \r
 Rico.onLoad( function() {\r
 Rico.loadModule('LiveGridAjax','LiveGridMenu','greenHdg.css');\r
 \r
 Rico.onLoad( function() {\r
-  var buffer = new Rico.Buffer.AjaxXML('/controller/action?format=xml');\r
+  var buffer = new Rico.Buffer.AjaxLoadOnce('/controller/action?format=xml');\r
   var grid_options = { columnSpecs: [,] };\r
   var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
 });\r
   var grid_options = { columnSpecs: [,] };\r
   var grid = new Rico.LiveGrid('data_grid', buffer, grid_options);\r
 });\r
@@ -385,7 +385,7 @@ You may choose one of the included styles or create one of your own.
 </dl>\r
 \r
 <li>Create a Rico Buffer, which fetches data to populate the table.\r
 </dl>\r
 \r
 <li>Create a Rico Buffer, which fetches data to populate the table.\r
-Unlike the AjaxXML buffer which fetches all grid data at once, the AjaxSQL\r
+Unlike the AjaxLoadOnce buffer which fetches all grid data at once, the AjaxSQL\r
 buffer fetches data in chunks. This makes it possible for LiveGrid to\r
 efficiently display query results containing thousands, or even hundreds of thousands\r
 of rows.\r
 buffer fetches data in chunks. This makes it possible for LiveGrid to\r
 efficiently display query results containing thousands, or even hundreds of thousands\r
 of rows.\r
@@ -442,22 +442,22 @@ Rico.onLoad( function() {
 data using an xmlHTTPrequest, the data is fetched using javascript callback functions.\r
 This allows you to do creative things in the callback function - like call Google Gears.\r
 Setting up the callback is very easy. Rather than passing a string containing the data provider's URL\r
 data using an xmlHTTPrequest, the data is fetched using javascript callback functions.\r
 This allows you to do creative things in the callback function - like call Google Gears.\r
 Setting up the callback is very easy. Rather than passing a string containing the data provider's URL\r
-to the AjaxXML or AjaxSQL constructor, you just pass the callback function instead.\r
+to the AjaxLoadOnce or AjaxSQL constructor, you just pass the callback function instead.\r
 \r
 <p>The code that follows is taken from \r
 <a href='client/gridJSbuffer.html'>examples/client/gridJSbuffer.html</a>, \r
 \r
 <p>The code that follows is taken from \r
 <a href='client/gridJSbuffer.html'>examples/client/gridJSbuffer.html</a>, \r
-which uses the AjaxXML buffer. The "jsfetch" callback function\r
+which uses the AjaxLoadOnce buffer. The "jsfetch" callback function\r
 returns a 2-dimensional array that is 100 rows long by 5 columns wide.\r
 returns a 2-dimensional array that is 100 rows long by 5 columns wide.\r
-Note that AjaxXML only loads its buffer once (at grid startup), so\r
+Note that AjaxLoadOnce only loads its buffer once (at grid startup), so\r
 jsfetch will only be called once.\r
 The options hash is identical in structure to the options hash used\r
 by Prototype's <a href='http://prototypejs.org/api/ajax/options'>Ajax.Request</a> method.\r
 \r
 <pre>\r
 jsfetch will only be called once.\r
 The options hash is identical in structure to the options hash used\r
 by Prototype's <a href='http://prototypejs.org/api/ajax/options'>Ajax.Request</a> method.\r
 \r
 <pre>\r
-buffer=new Rico.Buffer.AjaxXML(<strong>jsfetch</strong>);\r
+buffer=new Rico.Buffer.AjaxLoadOnce(<strong>jsfetch</strong>);\r
 \r
 function <strong>jsfetch</strong>(options) {\r
 \r
 function <strong>jsfetch</strong>(options) {\r
-  Rico.writeDebugMsg("jsfetch");\r
+  Rico.log("jsfetch");\r
   var newRows=[], offset=options.parameters.offset;\r
   for (var r=0; r<100; r++) {\r
     var row=[];\r
   var newRows=[], offset=options.parameters.offset;\r
   for (var r=0; r<100; r++) {\r
     var row=[];\r
@@ -507,7 +507,7 @@ or false if acceptAttr is not being used
 \r
 \r
 <h2><a name='debug'></a>Debugging</h2>\r
 \r
 \r
 <h2><a name='debug'></a>Debugging</h2>\r
-<p>Rico 2.0 includes the ability to route time-stamped debug messages to a message log.\r
+<p>Rico includes the ability to route time-stamped debug messages to a message log.\r
 The log may be an html textarea or the browser's javascript console.\r
 <ul>\r
 <li>If a textarea exists with the id of the LiveGrid table plus '_debugmsgs', i.e.\r
 The log may be an html textarea or the browser's javascript console.\r
 <ul>\r
 <li>If a textarea exists with the id of the LiveGrid table plus '_debugmsgs', i.e.\r
@@ -525,17 +525,19 @@ Rico.setDebugArea('debug');
 <li>If no textarea is designated, Rico will attempt to use the browser's\r
 built-in javascript console. The following consoles are known to work:\r
   <ul>\r
 <li>If no textarea is designated, Rico will attempt to use the browser's\r
 built-in javascript console. The following consoles are known to work:\r
   <ul>\r
-  <li>The console in Firefox's <a href='http://www.getfirebug.com/'>Firebug</a> add-on\r
+  <li>The web console in Firefox\r
+  <li>The console in the Firefox <a href='http://www.getfirebug.com/'>Firebug</a> add-on\r
   <li>The Opera javascript console\r
   <li>The Safari javascript console\r
   <li>The Opera javascript console\r
   <li>The Safari javascript console\r
+  <li>The Chrome javascript console\r
   <li>The console in <a href='http://blogs.msdn.com/ie/archive/2008/09/03/developer-tools-in-internet-explorer-8-beta-2.aspx'>IE8's Developer Toolbar</a> (under the Script tab)\r
   </ul>\r
 </ul>\r
 \r
 <p>LiveGrid is programmed to send a number of messages to the message log that may prove helpful in debugging.\r
   <li>The console in <a href='http://blogs.msdn.com/ie/archive/2008/09/03/developer-tools-in-internet-explorer-8-beta-2.aspx'>IE8's Developer Toolbar</a> (under the Script tab)\r
   </ul>\r
 </ul>\r
 \r
 <p>LiveGrid is programmed to send a number of messages to the message log that may prove helpful in debugging.\r
-You can also send your own messages by using Rico.writeDebugMsg(). For example:\r
+You can also send your own messages by using Rico.log(). For example:\r
 <pre>\r
 <pre>\r
-Rico.writeDebugMsg('My debug message');\r
+Rico.log('My debug message');\r
 </pre>\r
 \r
 <h2>Grid Menus</h2>\r
 </pre>\r
 \r
 <h2>Grid Menus</h2>\r
@@ -621,9 +623,8 @@ Therefore, you must include a doctype declaration just before the
 <li><strong>rico_buffer</strong> is a Rico Buffer object, e.g.\r
   <ul>\r
   <li>Rico.Buffer.Base (for non-AJAX tables)\r
 <li><strong>rico_buffer</strong> is a Rico Buffer object, e.g.\r
   <ul>\r
   <li>Rico.Buffer.Base (for non-AJAX tables)\r
-  <li>Rico.Buffer.AjaxXML\r
+  <li>Rico.Buffer.AjaxLoadOnce\r
   <li>Rico.Buffer.AjaxSQL\r
   <li>Rico.Buffer.AjaxSQL\r
-  <li>Rico.Buffer.AjaxJSON\r
   </ul>\r
 <li><strong>grid_options</strong> (see below)\r
 </ul>\r
   </ul>\r
 <li><strong>grid_options</strong> (see below)\r
 </ul>\r
@@ -790,7 +791,7 @@ If you don't specify it, it becomes the domain of the page that sets the cookie.
 \r
 <dt>maxPrint\r
 <dd>The maximum number of rows that the user is allowed\r
 \r
 <dt>maxPrint\r
 <dd>The maximum number of rows that the user is allowed\r
-to Print/Export.  Set to 0 to disable print/export. (default: 1000)\r
+to Print/Export.  Set to 0 to disable print/export. (default: 5000)\r
 \r
 <dt>exportWindow\r
 <dd>Options string passed to <a href='http://www.w3schools.com/htmldom/met_win_open.asp'>window.open()</a>\r
 \r
 <dt>exportWindow\r
 <dd>Options string passed to <a href='http://www.w3schools.com/htmldom/met_win_open.asp'>window.open()</a>\r
@@ -1128,7 +1129,7 @@ filterUI:'t20'
 </pre>\r
 <li>'s' - will generate a select list filter with all possible column values contained in the list.\r
 Populated using a 'select distinct' query if the grid's source is a SQL query.\r
 </pre>\r
 <li>'s' - will generate a select list filter with all possible column values contained in the list.\r
 Populated using a 'select distinct' query if the grid's source is a SQL query.\r
-<li>'m' - will generate multi-select checklist filter, with a checkbox text to each item.\r
+<li>'m' - will generate multi-select checklist filter, with a checkbox next to each item.\r
 </ul>\r
 \r
 <dt></a>filterCol\r
 </ul>\r
 \r
 <dt></a>filterCol\r
index d206505..44290f6 100644 (file)
@@ -292,7 +292,7 @@ oForm.options("formOpen")=
     Typically used <em>without</em> the "SelectValues" or "SelectSql" options.\r
     <li><strong>H</strong>:   column is hidden from the user (DefaultValue will be stored in the table on adds and edits)\r
     <li><strong>D</strong>:   this is a date field (blanks allowed if column allows nulls)\r
     Typically used <em>without</em> the "SelectValues" or "SelectSql" options.\r
     <li><strong>H</strong>:   column is hidden from the user (DefaultValue will be stored in the table on adds and edits)\r
     <li><strong>D</strong>:   this is a date field (blanks allowed if column allows nulls)\r
-    <li><strong>DT</strong>:  same as D, except that it also includes the time\r
+    <li><strong>TS</strong>:  timestamp, not shown on entry form, writes current time to database on inserts and updates\r
     <li><strong>I</strong>:   integer number (blanks allowed if column allows nulls and required is false)\r
     <li><strong>F</strong>:   floating-point number (blanks allowed if column allows nulls and required is false)\r
     <li><strong>B</strong>:   non-blank text field (user gets a popup message in form view when clicking save and the field is empty)\r
     <li><strong>I</strong>:   integer number (blanks allowed if column allows nulls and required is false)\r
     <li><strong>F</strong>:   floating-point number (blanks allowed if column allows nulls and required is false)\r
     <li><strong>B</strong>:   non-blank text field (user gets a popup message in form view when clicking save and the field is empty)\r
@@ -347,7 +347,8 @@ oForm.options("formOpen")=
 \r
 <dt>AddQuotes\r
 <dd>When false, the column value will be left unquoted when inserting or updating \r
 \r
 <dt>AddQuotes\r
 <dd>When false, the column value will be left unquoted when inserting or updating \r
-    the database (default=true). This makes it possible to populate columns with \r
+    the database. Default is false for entry type TS, and true for all other entry types.\r
+    This makes it possible to populate columns with \r
     SQL function calls. For example:\r
 <pre>\r
 oForm.AddEntryField "LastEditUser","","H","suser_sname()"\r
     SQL function calls. For example:\r
 <pre>\r
 oForm.AddEntryField "LastEditUser","","H","suser_sname()"\r
@@ -362,7 +363,7 @@ oForm.CurrentField("AddQuotes")=false
   \r
 <dt>noFormBreak\r
 <dd>Boolean value that when true, specifies that this entry field should placed on the same form row as the last field\r
   \r
 <dt>noFormBreak\r
 <dd>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 place on a separate row).\r
+(default: false - each form field is placed on a separate row).\r
   \r
 <dt><a name='AltTable'></a>AltTable (TabId)\r
 <dd>Specifies that the field should be stored in an alternate table\r
   \r
 <dt><a name='AltTable'></a>AltTable (TabId)\r
 <dd>Specifies that the field should be stored in an alternate table\r
index 7a6874c..3ce0585 100644 (file)
@@ -1,6 +1,6 @@
 /*
 /*
- *  (c) 2005-2009 Richard Cowin (http://openrico.org)
- *  (c) 2005-2009 Matt Brown (http://dowdybrown.com)
+ *  (c) 2005-2011 Richard Cowin (http://openrico.org)
+ *  (c) 2005-2011 Matt Brown (http://dowdybrown.com)
  *
  *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
  *  file except in compliance with the License. You may obtain a copy of the License at
  *
  *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
  *  file except in compliance with the License. You may obtain a copy of the License at
index a47efe4..a1d72ae 100644 (file)
@@ -58,10 +58,10 @@ div.ricoLG_highlightDiv {
   border-left-width: 0px;  /* for dojo */\r
 }\r
 \r
   border-left-width: 0px;  /* for dojo */\r
 }\r
 \r
-.ricoLG_FilterRow  div.ricoLG_cell {\r
-  height:1.6em;\r
-  line-height: 1.6em;\r
-  white-space: nowrap;\r
+.ricoLG_FilterRow div.ricoLG_cell {\r
+  height:1.6em !important;\r
+  line-height: 1.6em !important;\r
+  white-space: nowrap !important;\r
 }\r
 .ricoLG_FilterRow  div.ricoLG_cell * {\r
   vertical-align: top;\r
 }\r
 .ricoLG_FilterRow  div.ricoLG_cell * {\r
   vertical-align: top;\r