AxpDB Version History
A server side databound ASP (Active Server Pages) HTML-generating component.
© Axezz Data, Oslo Norway 1999-2006
http://axpdb.axezz.com
Document date : 2006-02-26
Current AxpDB public release version 2.1.0.44 (View Documentation)
Version 2.1
Build 2.1.0.44 (2006-02-26)
-
AxpDB is now a free unsupported product.
No license check is performed.
Build 2.1.0.43 (2005-05-31) Not publically released
-
New property PersistPageFormRequest. Default=True.
Build 2.1.0.41 (2004-02-26)
-
If the main SQL differs from FormSQL and the FormSQL contains a join
where the join column names are identical, it would cause a database
sql exception when displaying the form.
This behavior has now changed.
The component will now format the FormSQL as displayed below if it
differs from the main SQL and it contains a WHERE clause (the latter to simplify the logic)
SELECT * FROM (FormSQL) AXTEMPTABLE WHERE primarykeyclauses
Build 2.1.0.33 (2004-02-16)
-
Bugfix. Export to Excel now works for Stored Procedures.
-
The top navigation bar will now display the proper total number of records and behave
as intended for Stored Procedures. (Make sure to set .CountRecords=True)
Build 2.1.0.29 (2003-12-10) Not publically released
-
New property ApplyCellFormattingToExcel, default=False.
-
The 2.1.0.27 issue is fixed.
Build 2.1.0.27 (2003-10-07)
-
EMF. The "fix" in 2.1.0.26 concerning URL encoding was flawed
and the functionality has been reverted back
to how it was in previous versions. Sorry about this.
Build 2.1.0.26 (2003-10-02)
-
Changed the appearance of the Excel sheet. Its now displayed with thin silver cell borders instead of the previous rather thick black cell borders.
-
Fix. If a page contained another form with input fields containing html code (or had incoming requests containing html code),
the page design could become broken as a result of AxpDB's page state persistent technique. This has now
been fixed, the persisted fields are now URL encoded in the grids hidden fields.
-
Fix. DisplayType="form" did not work correctly for all cases. There was a specific problem when editing and with paging when pagesize was 1 record.
-
Fix. Opening the form when the property SQL and FormSQL differed and the FormSQL contained a query for a table with combined Primary Keys
caused an invalid command to be executed, making it impossible to view and edit data.
Build 2.1.0.11 (2003-08-31)
-
Fix. The html cleaning in 2.1.0.10 introduced a small bug.
The property GridColAttributes was not functional anymore and GridColHeadAttributes was
used both in the column header and in the data cells.
Build 2.1.0.10 (2003-08-21)
-
Added new property Width. This is used to set the Grid width and does not apply to form view. For Form view, use FormCellWidths.
If the Html attribute "width" is set in the property TableTag or GridTableTag, the value is
extracted and automatically transferred to the Width property.
-
The TableTag, GridTableTag and FormTableTag now works according to the documentation.
-
Html code cleaning: Generated code contains less whitespace than it used to. The html tags are now lower case.
Some CSS class attributes was still present when the property UseCSS was set to False.
Build 2.1.0.5 (2003-08-10)
-
Fix. If posting invalid data when adding a new record
there was an error that made it necessary for
the user to go back the previous page and post again.
-
Fix. If the grid was sorted on a column in descending direction, there
was circumstances where the Form view positioned as if the
column was sorted in ascending direction.
Build 2.1.0.4 (2003-08-06)
-
If the user enters invalid data, errormessages will now be displayed.
The posted data is persistant in the edit form.
In earlier versions, the invalid data would just be ignored.
Build 2.1.0.0 (2003-08-03)
-
Added new Html properties GridTDTag, GridTRTag, GridTREvenTag, GridTROddTag.
-
Added new property RequiredFieldIndicator.
This is the text appearing after a required field when editing (default *)
-
The label of required fields now has its own css style: AxpDBRequiredFieldLabel.
-
If a database field is defined as required (not nullable), it will no longer be possible to update it with a blank value.
A related new string has been added to the property LangUpdString "Record WAS NOT SAVED. Fill out all required fields."
-
Added Html Id tags to Grid Rows.
-
Bugfix. Deleting last record in a recordset caused an EOF condition.
-
Several of the Html Grid tag properties now permits the use of including data fields using the syntax ##COLUMNNAME## plus special fields.
The html tags permitting this are: GridTRTag, GridTROddTag, GridTREvenTag, GridTDTag, GridTDOddTag, GridTDEvenTag.
-
Added new special field AXPDBFORMURL to be used in GridFreeFormatCell or in the Html tags that supports datafields.
-
The demo style sheets and sample no. 7 has been updated.
Version 2.0
Build 2.0.0.37 (2003-08-03)
-
Minor bugfixes.
When hiding a column in form mode that also happened to be a primary key, the update did not work.
A varchar text field had, in form edit display, a maximum length of 2 characters more than the defined size in the database.
Build 2.0.0.33 (2003-07-23)
-
Minor bugfix. When adding a new record where table included a Boolean field, a warning message was generated in the AxpDB.ErrorMessage.
Build 2.0.0.14 - 2.0.0.32 (2003-07-20)
-
Added support for Stored Procedures returning Recordsets. See documentation under Stored Procedures for usage.
-
Added property CurrentMode. Represents the current display mode and has one of the following values: "grid", "formview", "formedit", "formadd".
-
Changed the method for retrieving current record when going from grid to form.
This is now based on the primary key settings if the standard SQL differs from FormSql or EditSql.
The property EditPrimaryKeys MUST be set if Form or Edit sql differs from std SQL
The position in the recordset is always based on the std SQL, so that paging in form mode reflects the ordering of the grid.
-
Altered Samples to reflect the change above. Added a new sample too.
-
Added an example in the documentation of a custom link that can be used to go from Grid to Form Mode. See property GridFreeFormatCellByCol in
the documentation.
-
Some minor bugfixes and speed optimization.
Build 2.0.0.13 (2003-07-19)
-
Bug fix. The internal record count method did not work properly for MS SQL Server.
Build 2.0.0.10 (2003-07-18)
-
Added property CurrentRecord(ColumnNumber). Gives access to the data values of the current row. Current row is defined as the first row
on the current page if more than record is displayed.
Build 2.0.0.3 (last minute fix, 2003-07-08)
-
Added property FormDisplayFieldNames. Needed when FormSQL differs from normal SQL and GridDisplayFieldNames is set.
FormDisplayFieldNames defaults to GridDisplayFieldNames, so always set FormDisplayFieldNames after setting GridDisplayFieldNames.
If you want to use the database table column names set FormDisplayFieldNames="" after setting GridDisplayFieldNames.
-
Excel export : GridFreeFormatCell functionality is no longer applied when exporting to Excel as it could cause too many conflicting situations.
Formatting etc are still applied.
-
Extended the documentation.
Build 2.0.0.2 (2003-07-08)
Table Edit (on updateable queries) is now enabled
-
Property EditOptions
Set to : "all" to enable updates, add and delete.
Set to one or more of "update delete add" to enable individual edit types.
Add the option "noview" if clicking on a grid link should take the user directly to edit form. A data form view will then not be displayed.
-
Property EditPrimaryKeys.
A comma separated list of primary key names for the table beeing edited. Required
if editing.
-
Property EditNewPKStatement.
Control if primary keys are autoincrement or require a separate sql statement (eg for Oracle Sequences)
-
Property EditFieldsReadOnly
List of field names (or column numbers) that is read only.
-
Property EditConfirmDeleteString
If set, the user will get a confirmation question containing this string when clicking Delete button.
-
Property EditPerformUpdates
Set to False if you want AxpDb to create the necessary Forms and user interface, but NOT do any database updating.
You can then handle the form requests yourself for custom database updates.
-
Property EditSQL
Default is the same as FormSql (or just the normal sql) but can be set here if the other sql's does not contain updateable queries.
-
Property DeleteSQL
Must be set if Delete records should be supported. Typically just set it to "DELETE FROM tablename". AxpDb fills in the where clause automatically.
-
Method AddEditLookup(ByVal FieldName As String, ByVal LookupTable As String, ByVal LinkField As String, ByVal DisplayField As String, ByVal OrderBy As String, ByVal AllowNulls As Boolean)
Add one or more lookup fields. These fields will be displayed with a drop down list.
New style sheets and graphical buttons
-
Note that the included Samples includes style sheet and button selection in the user interface.
-
Check the sub catalog gfx for various button styles.
-
Check the sub catalog css for various style sheets.
Note that AxpDB will automatically set cellspacing=0 in the grid table.
You can override this behaviour by setting your own cellspacing in the property TableTag.
First and Last page buttons added
-
Set new property DisplayNavBarFirstLastBtn=False to hide the Grid First and Last page buttons.
Note 1. There are new gif files in the gfx folder (firstpg.gif, firstpgd.gif, lastpg.gif, lastpgd.gif)
Note 2. The property RecordCount is now automatically set to True.
Note 3. The last page button can be disabled by setting the property DisableNavBarLastPageBtn = True.
Navigation bar display options
-
New property DisplayNavBarTextOptions to control if the "Record i..j of n" and the new "Page i of n" should be displayed
in the navigation bar.
Set to "both" or "records" or "pages" or "none". Default is "both".
Export to Excel
-
It is now possible to export the current dataset to Excel.
To hide the Exel icon, set the new property DisplayExcelIcon=False
The Excel icon is placed on the navigation bar.
Note. Response.Buffer must be True for this to work.
Drop-down for selecting records per page
-
Set new property DisplayRecordsPerPageSelect=True to display it.
Override default options by setting the property RecordsPerPageOptions = "<comma separated list of options>", e.g. "20,50,100,500"
Override default placement by setting RecordsPerPageSelectPlacement = one of "top" or "bottom"
Column sort graphical symbol added
-
This used to be just a character (/ and \).
Note! There are new gif files in the gfx sub folder (orderasc.gif, orderdesc.gif).
Column sort starts at first record
-
When user clicks on a column header to sort on this column, the grid will now redraw at first page (first record).
Memo fields (long text fields)
-
There used to be problems displaying memo fields. These should now have been fixed.
-
New property MemoFieldLimit. Set to limit display of memo data fields to MemoFieldLimit.
Formatting, Functions, Regular expressions
-
New property GridFormatCellFunction(ColumnNumber) = "FunctionName [, args, ...]".
Formatting functions : FormatCurrency, FormatNumber, FormatPercent, FormatDateTime, Format
Other : DateAdd, DatePart, Replace, Left, Right, Mid, UCase, LCase, InitCaps, InitCapsAll, Len, Round, Abs
See documentation for more details of supported functions.
-
AxpDb now supports Regular expression Replace function through the Regular expression engine supplied with VBScript
Microsoft Windows Script 5.6 must be installed on server
Syntax :
GridFormatCellFunction(ColumnNumber) = "RegExpReplace, /regular expression/[m[g[i]]], replace value"
Example 1 - Swap first and second word:
objAxpDB.GridFormatCellFunction(1) = "RegExpReplace, /(\S+)(\s+)(\S+)/, $2$1"
Example 2 - Lets every second word be in bold:
objAxpDB.GridFormatCellFunction(1) = "RegExpReplace, /(\S+)(\s+)(\S+)/g, $3$2<b>$1</b>"
Example 3 - Highlight words with yellow background:
objAxpDB.GridFormatCellFunction(1) = "RegExpReplace, /(\bMicrosoft|\bIBM)/mgi,<span style=""background-color:yellow"">$1</span>"
GridFreeFormatCell changes
-
It is now possible to set free format cell by column number.
Use the new property GridFreeFormatCellByCol(ColumnNumber Integer)
E.g.
onjAxpDB.GridFreeFormatCellByCol(1) = "#FIRSTNAME# #SURNAME#"
onjAxpDB.GridFreeFormatCellByCol(2) = "Phone : #PHONE#, Fax : #FAX#"
onjAxpDB.GridFreeFormatCellByCol(3) = "<a href='mailto:#EMAIL#'>Send mail</a>"
-
New Special field #AXPDBPOSTBACKURL#. The field will contain the grid's "page URL and state information" and can be
used to create a hyperlink referring back to the same ASP page ensuring that the currents grid state is persisted.
If there are more grids on the same page, their "state information" are not persisted.
See Sample3 - Drilldown, 3 tables on same page for an example of usage.
-
New property : GridFreeFormatCellDataFieldDelimiter.
The string used to denote data column names in GridFreeFormatCell can now be set manually.
The Default Delimiter is '#'
-
New property : GridFreeFormatCellColumnDelimiter.
The string used to denote data column names in the existing property GridFreeFormatCell can now be set manually.
This is useful if a cell contains javascript functions calls with several parameters.
The Default Delimiter is ',' (a comma).
Alternatively use the new property GridFreeFormatCellByCol (see above)
-
New property ApplyCellFormattingToForm. Default True.
The formatting set by the properties GridFreeFormatCell, GridFreeFormatCellByCol and GridFormatCellFunction
now automatically applies to the form view.
If the property FormSQL is set, ApplyCellFormattingToForm will be set to False.
This behaviour can be overriden if needed, by setting ApplyCellFormattingToForm=True after setting FormSQL.
Individual data grid column attributes can now be set
-
New attribute GridColAttributes(ColumnNumber). Set normal html attributes including style and scripting.
New property ApplyColFormattingToForm. Default True.
E.g. Let index column have a 3D windows grid look
objAxpDB.GridColAttributes(0) = "style=""text-align:right;padding-right:4px;background-color:#d4d0c8;border-top:#ffffff 1px solid;border-left: #ffffff 1px solid;"""
-
Ditto for column headers
New attribute GridColHeadAttributes(ColumnNumber). Set normal html attributes including style and scripting.
Configurable strings
-
New property LanguageString. Comma separated lists for strings used in AxpDb
The default string list is :
"Next, Next (plural), Previous, Previous (plural), Record, Records, List, of, First, Last, Records per Page, Page"
If, say you have a page containg books and book lists, you could set the list to the following:
objAxpDB.LanguageString = "Next,Next,Previous,Previous,Book,Books,View booklist,of,First,Last,Books per Page,Page"
-
Ditto for :
LanguageBtnString : "Edit, Save, Close, Add, Delete"
LangUpdString : [New record saved ok], [Record saved ok], [Record deleted]"
Max number of records increased
-
The maximum number of records that AxpDb can handle is now set to 1 000 000
Data grid cells now has html attribute id set
-
All cells (td tags) now has an html id corresponding to the currents grid row and column.
The naming convention is axp<Tagnumber>cell_<rownumber>_<columnnumber>
E.g. id="axp1cell_10_2" is row 10 column 2 in the grid with tag number 1 (Grid tag number is default=1)
Rows and column numbers start at 1.
AxpDbGrid form name and id is now set to a value
-
The html form enclosing the resulting table now includes the properties name and id and sets their value
to "FormAxpDbGrid<Tag>", where Tag is the grid's tag number (default 1)
Debug mode, display SQL statement
-
New property : DisplayDebug. Set to True to display the current SQL statement.
Version 1.2
Build 1.2.0.27
Minor release, not publically released
Changed internal recordcount method
-
In previous versions AxpDB would not count records for certain queries. It should now work for all query types.
Bugfix
-
Hyperlinks in headers were not url encoded properly
Version 1.02
Build 1.02.0013
International version
-
User interface now in German, Norwegian and English. See property Language for usage.
Build 1.02.0000
First version with a license
-
More demo scripts added.
-
The property RecordsMaxLimit did not work. Fixed. Restricted to 50 records on unlicensed copy.
-
New propery FooterText Default on unlicensed version is a nag text, blank on licensed.
-
The width and height tags on the navigator buttons was removed to accomodate wider range og gif images.
Version 1.01
Changes and Bug fixes in version 1.01
Minor release, not announced
-
The tip label on the next/previous buttons in form previously read 'Next pagesize record' and 'Previous pagesize record'.
It now reads 'Next record' and 'Previous record'.
-
If there was no records in the table, the from..to string read 1..0. It now reads 0..0
-
The 'Powered by AxpDB' string has been moved inside the data table for nicer display.
-
The column headers now contains a <nobr> tag
-
The tag number is now placed after 'Axezz' in hidden form fields and on any query strings. This was done to enable
Javascripting on these fields.
Version 1.00
Build 1.00.0016
Initial Public Release
© www.axezz.com
Oslo, Norway 1999-2006