DAshboard Customization


(William) #1

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?


(Rob Bucek) #2

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) });

(William) #3

@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!!