Error when deploy dashboard

Hi,
We use Epicor 9.05 with OpenEdge.
I want to add a custom code to a dashboard to allow a checkbox to be cheched in when we open the dashboard. When I test the code all is ok but when I deploy, I got the error:
Error:CS0103 The name ‘chkDateTrue’ does not exist in the current context

I only put a simple line code look:

I e-10, you would have to make an event with the wizard for form load, you can’t just put in in initialize custom code. I’m not sure if it’s the same I e9 or not, but give that a try.

image
image

I don’t have this option.

2019-05-24%2010_45_33-Customization%20Tools%20Dialog%20(default)

Bummer, That’s all I have for you on that one. I’ve never done anything with E9.

1 Like

Deploy the dashboard without the customization in the dashboard program itself. Once you deploy the dashboard and add it to a menu as a dashboard assembly, logoff/logon, open your dashboard in customization mode and do your customization on top of the dashboard and set the customization to load for that dashboard via menu maintenance. This will give you the load event and all other event types and is a much better way to customize a dashboard. My experience has been trying to do customizations with code in the dashboard program is a headache.

1 Like

You’ve right… what a mess.

But my compile error stil there…

You might have to get control of the checkbox with a GUID and your own name.

This an example with a lot of code you won’t need, but if you look at the the part with the code below, that’s how you can get control of that check box.

EpiCheckBox chkComplete = default(EpiCheckBox);
		chkComplete = (EpiCheckBox)csm.GetNativeControlReference("6456654a-e39c-486b-bfdb-7a4cc16fe4ec");
1 Like

Thanks,

We are close… I add the code, it compile but the check box are not checked as supposed on my code.

Try putting line 54 right below the line that says

// Add Custom Module Level Variables Here **

then put line 56 goes in initialize custom code block right below this line.

// End Wizard Added Custom Method Calls

and leave your last line where it is. See if that works.

It’s not work…
I logout login and not work either

Does E9 have cache issues like early E10 did?? In E10 I would have problems with the system holding on to old customizations and had to delete them manually from my computer.

I try with the properties visible = false and the object disappear. So the cod work fine, it’s the properties “Checked” who don’t does what I expected.
I’ll try to find the correct properties

Try using a EpiViewNotification not a form load event. So code would look something like this roughly:

(args.Row > -1)
{
view.dataView(args.Row)(“epiDateTrue”) = true;
}

I think the check box is a filter, not bound to a data view.

Here’s an out of the box possible solution. Can you change the values (using a calculated field or something) that would be defaulted to what you want with false? So flip the current logic around. The check box comes in unchecked by default right? That would give you the behavior that you want without needing the customization.

Would that work?

Yea I see that now. Might have to use ‘Customize Tracker View’ option in Dashboard maintenance to try and set it.

Typically Dashboards are a little different, some of the Panes tend to start to build themselves during _Load. Usually a good area to put any logic in is PaneActivated however you could try Form Shown which is after the _Load

Example:

// InitializeCustom Code
this.MainController.Shown += MainController_Shown;

// DestroyCustom Code
this.MainController.Shown -= MainController_Shown;

private void MainController_Shown(object sender, EventArgs e)
{
  // Do work Here
}

If that doesn’t work then you will end up with PaneDisplayed Event which is a little more complicated to setup. That event will trigger whenever the Pane is Activated so even when you do navigate to a different Tab and come back, so you will need extra logic to not re-initialize the default over and over again, some if/else.

In a Nutshell if I recall and it might be diff in E9.

// Global Var
private Infragistics.Win.UltraWinDock.UltraDockManager udm;

// InitializeCustom Code
// TODO: Change this.**OverviewTab** with your Tab Name
udm = ((Infragistics.Win.UltraWinDock.DockablePaneBase)(((Infragistics.Win.UltraWinDock.DockableControlPane)((Infragistics.Win.UltraWinDock.DockableWindow)(this.OverviewTab.Parent)).Pane))).Manager;
udm.PaneDisplayed += new Infragistics.Win.UltraWinDock.PaneDisplayedEventHandler(this.ultraDockManager1_PaneActivate); 

// DestroyCustom Code
udm.PaneDisplayed -= new Infragistics.Win.UltraWinDock.PaneDisplayedEventHandler(this.ultraDockManager1_PaneActivate);

private void ultraDockManager1_PaneActivate(object sender, Infragistics.Win.UltraWinDock.PaneDisplayedEventArgs e)
{
  
  // This event provides a notification when the active pane
  // (see the ActivePane property of the UltraDockManager)
  // has been changed. a pane may be activated programatically
  // by calling the pane's activate method or by giving focus
  // to a control contained within the dockable control pane.
  MessageBox.Show( "Pane! " + e.Pane.Key);
  switch (e.Pane.Key)
  {
     case "YourTabID":
        // Do Work
     break;
   }
}

Thank you guys for your help but I’m little overwhelm. I’m new on EP 9 and it’s to mutch for me for now. I’ll try to figure out next week after a relaxing week end :smile:

Thank

Your checkbox is probably binded to a view. Set your value from the view. If it’s a Tracker View, make sure “Input prompts Only” is checked in your Tracker section.