Similar to the EDIT field exits the event;
If the amount = quantity * When you exit in quantity and unit price field, the amount is automatically calculated, fill in the amount column; ccolumn: colnamt; ccolumn: colnqty; ccolumn: colnprice; 1) is in ccolumn: colnqty; ccolumn : colnPrice; increase Message Actions on SAM_Validate event within plus one line of code: Call ReCalculate () 2) and then increase ReCalculate process Funtions years to achieve Function: ReCalculateSet colnAmt = colnQty * colnPriceCall colnAmt.EditDataItemSetEdited ()
The above functions can be achieved here;
Annex: IFS'S HELPSAM_ValidateSent to a Data field, multiline field, combo box, and column when the user changes the value of the object and then moves the focus away from the object.The user can move the focus by several actions such as tabbing to another object, clicking another object, or using a mnemonic or accelerator to activate another object.When a user changes one of these objects, the object's field edit flag changes to TRUE. You can get and set the field edit flag using SalQueryFieldEdit and SalSetFieldEdit.
SAM_Validate validates the data that the user entered or changed. Whenever the user changes an object, Centura sends SAM_Validate. If an object is valid, return VALIDATE_Ok (this resets the field edit flag to FALSE) .The value you return from SAM_Validate processing controls whether the focus changes.Centura does not send SAM_Validate when the user selects a menu item (a menu selection does not change the focus). You can force Centura to send SAM_Validate by calling SalSendValidateMsg in the menu actions of a menu item. This forces field validation .
To Control The Action That Happens, Return One of these VALUES:
Value DescriptionVALIDATE_Cancel Does not let the attempted action take place and returns the focus to the current edited item if the item has lost the focus (validation failed) .VALIDATE_Ok Lets the attempted action take place. This is the default action if you do not process SAM_Validate or do not return a value when processing SAM_Validate.VALIDATE_OkClearFlag Lets the attempted action take place and sets the field edited flag to FALSE.Note: Unless you return VALIDATE_Cancel, Centura also sends SAM_FieldEdit to the object.Message Variables
For Table Window Column:
Value DescriptionhWndForm Window handle of the top-level window.hWndItem Window handle of the object receiving the message.wParam Handle of object getting the focus; 0 if the focus is not changing (such as when calling SalSendValidateMsg in menu actions) .lParam Index to The row. if the focus is on the first row, this variable will qual 0; if the focus is on the second row, this variable will equal 1; and so on.lparam zero (0) .for all other objects:
HWndform Window Handle of The Top-Level Window.hwndItem Window Handle of The Object Receiving The Message.wParam Example
Data Field: DFNAME ... ON SAM_VALIDATE IF SALISNULL (DFNAME) Call SalmessageBox ('You Must Enter a Value', 'Data Error', MB_OK) RETURN VALIDATE_CANCEL ELSE RETURN VALIDATE_OK
Boolean EditDataItemSetted () The EditDataItemSetted Function Marks The Data Item As Edited.
Returns
The return value is true if the data item.
Comments
Applications Should Call this function after program size setting the value of data item.
EXAMPLE
Function: DataRecordgetDefaults