MvControls – Multi-Value Data Bound Controls.

mvSession

 The mvSession control is used to gather the information needed to create a connection to the MultiValue database. If a developer is only using one database, there only needs to be one session control on each form.  If a developer needs to connect to multiple MultiValue database, then more than one mvSession control can be placed on your Visual Basic form.

When the Session control is placed on the Form in design mode, an Icon will display on the screen.  This icon will not be visible at Run-time.

 The mvSession control holds global information about the connection and how the controls associated with it will act.  The following are a sample of what the control holds:

ErrorColor - the color of all controls that have been flagged as erred
MandatoryColor - the color of all mandatory fields>
NoAutoUpdate - Is the auto refresh turned on or off
OsType - the type of Database the controls are connected to
WindowsKeyMapping - use Windows Key mapping or MultiValue Key Mapping
Connect - Connect to the Database
Disconnect - Disconnect from the Database
SessionParent - Holds the Base objects used to make the connection

The Connect and Disconnect methods are optional.   If a connection to the database has not already been made when the other mvControls are activated, then a connection will be made automatically.  If the mvControls created the session, then they will disconnect the session when the program is terminated.

mvTextBox

 The mvTextBox is similar to the Visual Basic TextBox control (except, of course, the mvTextBox is bound to a MultiValue database). The mvTextBox allows a developer to place a standard input control on a form, and have the data in the control be read from, and update to, a dynamic array.

 There are 2 modes to the mvTextBox-- single line mode and multi-line mode.  Multi-line mode allows the developer to basically put a simple word processor on the form and have the data input saved as multi-value or subvalue lines (depending on the configuration information the developer defined for the control).

 The mvTextBox has a label function that allows a developer to assign a label to the control.  When the control is moved, the label will go with it.  The label can be placed above, below, to the left, or to the right of the actual textbox.  The label is optional.  If no label is specified, then only the text box will be displayed.

 
 

 The mvTextBox has basic validation control built into it.  A Developer may define the type of input that is valid, e.g. Numeric, Time, or Date.  A Developer can also specify a Host BASIC program to be run during both validation, and to generate a “default” value for the control.

 
 

The mvTextBox can be defined as a Key Field.  A Key Field is used to define which record is to be read from the MultiValue Database.  There are two different types of Key Fields.  The standard Key Field requires the user to input the record name to be read; the Select List Key Field allows a user to scroll back and forth through a select list using Arrow Buttons.


 


 

mvComboBox

 The mvComboBox is similar to the Visual Basic ComboBox control (except the mvComboBox is bound to a MultiValue database).  Looks and works very much like the mvTextBox, but provides the developer and users a drop down list that can the user can select from.  Both the data and the items in the drop down list can be retrieved from the a dynamic array read from a MultiValue database.

 The mvComboBox has a label function that allows a developer to assign a label to the control.  When the control is moved, the label will go with it.  The label can be placed above, below, to the left, or to the right of the actual textbox.  The label is optional.  If no label is specified, then only the ComboBox will display.

 
 

The mvComboBox has basic validation control built into it.  A Developer may define the type of input that is valid, e.g. Numeric, Time, or Date.  A Developer can also specify a Host BASIC program to be run during both validation, and to generate a “default” value for the control.

The mvComboBox can be defined as a Key Field.  A Key Field is used to specify which record is to be read from the MultiValue Database.


mvGrid

 The mvGrid allows a developer to create a multivalue input method that is similar to the way it is done in MultiValue BASIC.  The  developer specifies the fields to display in the grid control.  If there are more fields than the size of the screen or the size of the control, the control will scroll automatically as needed.

 The mvGrid supports two different types of input styles: TextBox and ComboBox.  These input styles have the same functionality as the “standard” mvTextBox and mvComboBox, except for a few selected properties, such as multi-line.  The mvGrid also has a read-only mode that works like the mvLabel.

 The mvGrid gives the developer the ability to specify either row numbers or row labels, as well as limit the number of multi-value lines the user may input.  If the developer specifies row labels, then the number of multi-value lines will be restricted to the number of row labels the developer has defined.


 

 

mvButton

The mvButton performs several different functions.  It allows the developer to place a button on the form that can read from, or update, all other controls associated with the same Key Field.  The different functions that the mvButton can perform include:

Write This mode will write any changes to the MultiValue Database
Write and Clear  This mode will write any changes to the MultiValue Database and then clear all the associated controls.
Clear This mode will clear all the associated controls
Delete This will delete the record associated with the Key Field
Write and Exit This mode will write any changes to the MultiValue Database and then exit the current form.
Quit without Saving This mode will just exit the current form without writing any changes to the MultiValue Database.

The mvButton is disabled until there are no associated controls that have their ErrorFlag set to True and all mandatory input has been filled in by the user.



 

mvListBox

 The mvListBox is similar to the Visual Basic ListBox control (except the mvListBox is bound to a MultiValue database).  The mvListBox allows the developer to pull information from a MultiValue host to populate the list.  The only the data in the list can be selected by the user.  The item, or items, selected will be update to a dynamic array read from the MultiValue Host.

 The mvListBox has a label function that allows a developer to assign a label to the control.  When the control is moved, the label will go with it.  The label can be placed above, below, to the left, or to the right of the actual ListBox.  The label is optional.  If no label is specified, then only the list box will display.


 

The mvListBox has basic validation control built into it.  A Developer can also specify a Host BASIC program to be run during both validation, and to create “default” information for the control.

The mvListBox  can read its list information from a specific record or a select list.  The values that are selected by the user are then saved in a multi-value or subvalue dynamic array.  The mvListBox can be either single select (allowing the user to pick only a single selection) or multi-select.  In multi-select mode, the developer has a choice of the standard list box, or to display check boxes next to each item.

mvCheckBox

 The mvCheckBox is similar to the Visual Basic CheckBox control (except the mvCheckBox is bound to a MultiValue database).  The mvCheckBox allows a developer to place a standard input control on a form, and have the data be read from, and updated to, a dynamic array.

 
 

The mvCheckBox allows the developer to specify the values to be placed into the dynamic array when the checkbox is checked or unchecked.  By default, these values are 1 for a checked state and 0 for an unchecked state, but can be changed to any value the developer wishes.


 


FAQ – Frequently Asked Questions

 

Q. How do I share Key Controls and Session Controls across Forms

A. The mvControls allow developer to use Key Controls and Session controls across forms.  Since controls are form specific, the form has to be loaded into memory before mvControl Key controls and Session Controls can be accessed.

 In Design mode, the form must be loaded in to the display portion of the IDE.  The form does not have to be displayed on the screen or the active form, just loaded.

 In Run Time, the form must be loaded into memory with the ‘Load’ Visual Basic command or with the {form}.Show command.  When the form is unloaded, either by using the ‘Unload” command or the user pressing the ‘Close’ button, the controls will no longer be available to be used by forms.

 

Q. I’m in Design Mode and in the Key Id dropdown list or the Session Dropdown list, my Key Controls and Session Controls were displayed, but are no longer in the list.  What happened?

A. The form that the Key Control or the Session Control was on has been unloaded from memory.

 

Q. In my Key Id and Session DropDown list, I am getting items with explications points (!) in them.  For Example, frmCust!CustNo.  What are these?

A. These are controls that are accessible on other forms.  It allows developer to reference Session Controls or Key Controls that have been placed on other forms.

 

What do the mvControls work with?

 The mvControls currently work with the following Objects:

WinLink32
D3 – using ODBC Subsystem Drivers
UV/Objects - Universe/UniData