DataTable(TM)
ActiveX(TM) Control
This document contains release notes for DataTable. Information in this document is more current than the on-line Help.
Included Samples
The Samples sub-folder of your product installation folder contains various samples demonstrating the use of the product. Brief descriptions of these can be found in the file Samples Descriptions.htm, located in the Samples folder.
Note: This installation is current and equivalent with the latest service pack, (SP2) for version 8 of this product.
What is New in DataTable 8.0
*
Improved help system to locate topics easier.
*
Help files now respond to F1 in Visual Basic.
DataTable
* Proportional scrollbars.
* New event ValidateRow allows you to keep the current cell in a single row
until all data in that row validates.
* Enhanced printing to control text and font for headers and footers.
* Choice of sort algorithms.
* Automatic resizing rows and columns to fit data. Can be performed by user by
double-clicking on a heading/label grid line.
* Assign colors to areas not covered by cells.
* Assign arrays to lookups using row or col major indexing.
* Lookups can be resorted while they are dropped down.
* Query if a child table is expanded.
* Remove case-sensitivity when binding to recordset columns.
* Print in IE by displaying the Printer Common Dialog.
* New events for inserting rows when reading data from a database or if an error
condition occurs.
* Implemented property EndEditLostFocus. This property causes end
editing whenever the DataTable loses input focus.
MaskEdit
* Supports uppercase/lowercase, include/exclude lists and password.
Date Edit
* Can use updated drop-down calendar available with ScheduleX. This allows
text and colors in cells, as well as spin buttons to change current month.
Numeric Edit
* Turn off automatic incrementing/decrementing with up/down arrow keys.
Known Issues
- Appearance (3d borders) do not appear under Microsoft Visual C++ at design time. These appear correctly at runtime.
- Microsoft Visual C++ hangs when you choose to load or save template. You need to right-click on DataTable and choose Edit from the floating menu. Then click on dialog background (to exit Edit mode on DataTable), and then right-click on DataTable and choose to load or save a template.
- Visual InterDev does not support OLE Verbs, so the template loading and saving options are not available. Use ActiveX Control Pad (which supports OLE Verbs) to load/save templates.
- When you have DataTable bound to an ADO Recordset that is Read-Only, and you add a row to DataTable, DataTable attempts to add the row to the Recordset, but fails. DataTable does not prevent you from adding the row to itself. If you then attempt to remove the row from DataTable, DataTable will not allow you to remove the row because it failed to remove the row from the recordset. Instead of adding the row to DataTable when bound, you should add the row to the recordset and allow DataTable to receive the new row from the recordset.
Hot Fix Note:
Hot Fixes may not be included in full suite releases. You may need to
reapply your Hot Fix after you have installed a full suite release.
DataTable 8.04.007.05 -
April 29 2005
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvListbox (8.04.00.5)
DataTable 8.04.007.04 -
May 28 2003
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvListbox (8.04.00.4)
DataTable 8.04.007.03 -
September 6, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvListbox (8.04.00.3)
SCT71 - Listbox causes a fatal error in VB when storing and retrieving
data from the ItemDataEx property
pvComboBox (8.04.012)
SCT72 - Place ComboBox in a UserControl. Attempting to change the caret
position using the arrow keys instead changes control focus
DataTable 8.04.007.02 -
August 23, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvListbox (8.04.002)
DTB69 - When clicking INTO the listbox FROM any other control, the
validate event would not fire for the other control.
DTB57 - returning the ListIndex in a single select listbox does not
always return the item whose Selected property = true.
SCT46 - This code PVListBox1.ItemChecked(i) = True Then MsgBox "true"
doesn't work even if ItemChecked returns true.
SCT21 aka DTB67 - Error occurs when trying to use the list method to
display data from a list box where one of the data fields is not of type string.
pvComboBox (8.04.011)
DTB46 - Changing the listsource at run-time causes the program to hang
DataTable 8.04.007.01 -
August 20, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvNumeric (8.04.002)
DTB66 - pvNumeric - The Change event fires twice.
DataTable 8.04.007.00 -
July 12, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
DTB63 - When bound to a DateTime column in a database and the DateEdit
custom editor, a value of null will not persist in the cell
DTB61 - Before end edit event returns the incorrect value
DataTable 8.04.006.01 -
June 28, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvComboBox (8.04.010)
SCT40 - Validate event fires for wrong control, resubmitted from fix for
8.0.4.7 hotfix.
DataTable 8.04.006.00 -
May 24, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
DataTable (8.04.006)
DTB47 - When using the DataTAble in VM and setting it to Indexed, can't
use scrollbar to scroll to the top row and row #1 isn't readily visible
DTB44 - The Mouse-Up event doesn't fire when a child table is clicked on
DTB41 - When resizing a column in C++, the last column displays the value
multiple times
pvComboBox (8.04.009)
SCT60 - Activation logic in hot fix build 8.0.4.8 removed
DateEdit 8.0.3.11
SCH62 - Dates defaulted to year 2000
SCH54 - 3 digit year not handled
SCH6 - Forms load SLOW with dropdown calendar enabled
DataTable 8.04.005.01 -
May 17, 2002
-
Hot Fix
--------------------------------------------------------------------------------------------------------------------------------------------------------------
pvComboBox (8.04.008)
SCT40 - When clicking into a ComboBox from a different control, the
Validate event does not fire for the other control
SCT39 - hitting “Alt+F” or clicking on the “File” menu option, followed
by pressing the Up or Down arrow keys, instead of navigating the different menu
options, it navigates combobox items
DataTable 8.04.005.00 -
March, 2002
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Activation removed
DTB38 - when entering the date 12/12/2001 and leaving off the time... the
data gets removed from the cell... when entering 12/12/2001 1:00, data is
changed to reflect 1:00 PM
DTB32 - When the PVComboBox Appearance property is Flat and the Border
property is changed from True to False the PVComboBox redraws but the resultant
appearance looks wrong
DTB26 - see that the second column keeps shifting to the left
DTB7 - Trying to find a way to cancel a combo box change
DTB4 - child table doesn't have the horizontal scroll bar
DataTable 8.04.004.00 -
March, 2002
--------------------------------------------------------------------------------------------------------------------------------------------------------------
DTB50 - After downloading and installing the latest version
(non-activated) DataTAble... Any previous project that references that DataTable
will display a DataTAble where the Headers are HUGE....
(8.04.000.00) June, 2001:
- New Product Activation Wizard now backs up and restores activation settings.
DataTable 8.0.4.0
- Increased size of buffer used in the GetList property to allow for lists of up to 100,000 characters (previously 20,000).
- Increased size of string buffer used to convert values from double float to strings in Utils::DoubleToString() to allow for all possible values.
ComboBox 8.0.4.0
- Fixed not passing converted COLORREF value to DataTable in ItemLabelBackColor property.
- If the ListSource was changed, make sure that the correct item is selected after repopulating.
- Fixed issue where small lists would scroll unecessarily when items down the list are selected in non-editable mode.
- Correct list item will be set when item contains accented characters.
- Selected item will now be visible if list is dropped after the ListIndex is set.
- ShowDropDown method will now work when the control has focus.
- Fixed memory leak in partial completion code (editable mode).
- Fixed issue where open and closing dropdown when last item is selected eventually will set the wrong TopIndex.
Currency 8.0.4.0
- Fixed to disable backspace from working when the control is readonly to delete the default value.
Numeric 8.0.4.0
- Fixed problem where minus sign was going positive for scientific notation of number values.
Problems Corrected By This Release (8.03.005.00) February, 2001:
- New Product Activation Wizard now checks and notifies developer of new product builds
Problems Corrected By This Release (8.03.002) January, 2001:
- Implemented update to prevent rows from being allowed to be deleted when bound to a READONLY recordset.Problems Corrected By The Previous Release:
- Fixed VM mode GetCellAtPoint to return the correct RowID based on VM Row index.
- Updated child table painting when first expanded without having to be clicked with the mouse to be activated first.
- Updated DT to save ResizeAllRows property.
- Fixed data binding issue for certain drivers where data will not be displayed in some cells. The symptoms may appear random where data is loaded sometimes but not others. Columns are configured correctly and the correct number of rows are loaded but some, all or no values appear in cells. This issues affects specific drivers that do not initialized the return buffer before putting data into it.
- Fixed Column move problem when tied to a database so that updates in the moved column will be saved to the database.
- Fixed further DateTime Formatting for GetEditValue so that 12:00 in a variant column with no format will be returned as 12:00 PM and not 12:00 AM.
- Fixed problem with Visual Interdev so that the control can be instantiated dynmically using just its
Classid.
- Fixed DateTime Formatting for GetEditValue so that 12:00 military time will be returned as 12:00 PM and not 12:00 AM.
- Updated +- key processing so that child tables are expanded only if the NumLock key is off. Otherwise these keys will begin editing.
- Fixed problem of a message box appearing if Unload was called on a form during a DataTable Mouse event.
- Changed Clipboard Copy to add a /r before the /n of each row of data for better FoxPro support.
- Fixed problem with column widths for Lookup drop down so that Header text length is also checked.
- Fixed problem with column widths for AutoResize when sort chevrons are in use for the column.
Numeric
- Fixed data pasting exception when multiple pastes occurred in sequence.
DataTable
- When split panes were used, the GetLeftIndex on the ColumnSet object was using the wrong parameters. So was the SetLeftIndex.
- When DataTable is bound and the child table is collapsed, DataTable was calling Rows::ResetData. Since the color information on the current cell was still active we are now calling ResetAll to reset the entire child table.
- When using the dropdown, if the cell has a null string value and the user drops down the dropdown but doesn't select anything, then clicks somewhere else on the grid, DataTable wasn't checking this and setting the value to the nullstring which would update the database. We are now checking to see if the value is equal to the nullstring.
- In VM Mode with User-Defined Keys, when dragging the thumb, the top key (TopIndex) was being set to the last row.
- The ColumnSet's AutoSize method was not taking fonts on individual cells, or on the column into account. It was always using the Table's default font.
- Appending a row to a child table when bound wasn't adding the row to the recordset.
- When using WinX editors, and TabToNextCell is checked, tabbing didn't work when editing. This is now fixed.
- When clicking on the plus/minus to expand/collapse a child table, editing is now ended and changes are accepted.
- When clicking on the scrollbar, editing is now ended and changes are accepted.
- When using WinX editors, the call the get the Window Handle from the control was wrong.
- When the NullString is "" (zero-length) and the user enters a zero length string, the cell wasn't being flagged as a null cell.
- When updating a recordset with a value, we are now performing a check to see if the cell has been flagged as NULL.
- When retrieving the value from a cell, if the row of column index is < 0, VT_ERROR is now being returned as the variant.
- KeyDown/KeyPress/KeyUp events are now being fired on child tables.
ListBox
- Could not navigate control until clicked on with mouse. Fixed.
ComboBox
- Non-editable look-ahead typing fixed so it is not case sensitive anymore.
- On a dialog set as AlwaysOnTop, the dropdown was appearing behind, now it appears on top.
- Pressing Enter when combobox is empty no longer selects the first item.
- Get_List was appending an extra "|" on the returned string. Fixed.
- Change event will now fire on non-editable combo arrow down and arrow up keys.
- Default and Cancel buttons on form now fire.
- If items are added in the DropDown event the dropdown would not resize itself properly to accommodate them. It now works if DropEffect = 0 (but not = 1).
- DataSource recordset will be updated with values even if they are not in the list when the PrimaryColumn is the same as the DataField, but will not when they are different. (Behavior mirrors that of the MS DataCombo)
- If the BoundText value is not found in the BoundColumn and BoundColumn is different then PrimaryColumn, do not display anything in the text box. (Behavior mirrors that of the MS DataCombo)
- Fixed Stack Overrun when searching for matches in a large list.