It is common to need logic that populates a dynamic field (such as a Grid or Dynamic Label) after a Hotspot trigger. One common solution is to implement a call to change that field in the AfterInkAdded or MFAfterSetData handlers of the Hotspot trigger, depending upon if you need VB(.NET), javascript, or both.

For example, given two fields, a dynamic label named "DynamicLabelName" and "HotspotName", the scripting for VB(.NET) could look something like this: 


<MiCode(ControlScriptEventType.AfterInkAdded, "HotspotName")> 
_Public Sub Ctl_Hotspot_AfterInkAdded(ByVal e As AfterInkAddedEventArgs)
	_DynamicLabelName.Value = "Good JOB! You clicked the button! - VB Script"
End Sub


And then scripting for on the javascript side could look something like this:


function MFAfterSetData(fieldName) {
    switch (fieldName) {
        case "HotspotName":
            _form.setValue("DynamicLabelName", "Good Job! - You clicked the button! - Javascript");


Both of these accomplish the same task with somewhat similar logic. For VB, you change the values of whatever fields you need to change from the AfterInkAdded Sub of the field that will trigger the change. For Javascript, there is one function for AfterSetData, in which you provide a switch condition to check for the correct passed parameter of the fieldName and then implement a change to the label via SetValue method. 

This functionality has been implemented in the attached Mi-Forms Designer form.