DAshboard Customization

I’m trying to set it up where once you input the custid and leave the field, everything auto populates without having to hit the refresh button. What method should I be trying to call to get this to work?

i’d go with a validating event in your control (probably a text box?) and then call a refresh. Many of the methods natively inside the dashboard assembly are private though you can use reflection to get to them.

    MethodInfo mi = typeof(EpiBaseForm).GetMethod("handleToolClick", BindingFlags.Instance | BindingFlags.NonPublic);
    mi.Invoke(MainController, new object[] { "RefreshTool", new Infragistics.Win.UltraWinToolbars.ToolClickEventArgs(MainController.MainToolManager.Tools["RefreshTool"], null) });
2 Likes

@rbucek Here is the customization that was come up with. Your piece was very helpful.

public class Script
{
// ** Wizard Insert Location - Do Not Remove ‘Begin/End Wizard Added Module Level Variables’ Comments! **
// Begin Wizard Added Module Level Variables **
private EpiTextBox txtcustid;
// End Wizard Added Module Level Variables **

// Add Custom Module Level Variables Here **

public void InitializeCustomCode()
{
	// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
	// Begin Wizard Added Variable Initialization

this.txtcustid = (EpiTextBox)csm.GetNativeControlReference(“65632918-1f6c-4399-9db4-61c79e45d8ba”);
this.txtcustid.LostFocus += new System.EventHandler(this.txtcustid_LostFocus);
// End Wizard Added Variable Initialization

	// Begin Wizard Added Custom Method Calls

	// End Wizard Added Custom Method Calls
}

public void DestroyCustomCode()
{
	// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
	// Begin Wizard Added Object Disposal

	// End Wizard Added Object Disposal

this.txtcustid.LostFocus -= new System.EventHandler(this.txtcustid_LostFocus);
// Begin Custom Code Disposal

	// End Custom Code Disposal
}

private void txtcustid_LostFocus(object sender, System.EventArgs args)
{

System.Reflection.MethodInfo mi = typeof(EpiBaseForm).GetMethod(“handleToolClick”, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
mi.Invoke(MainController, new object[] { “RefreshTool”, new Infragistics.Win.UltraWinToolbars.ToolClickEventArgs(MainController.MainToolManager.Tools[“RefreshTool”], null) });
}

}

Thanks for helping out!!

2 Likes