EpiButton on a Dashboard

I really didn’t want to make a whole new post about this, but I couldn’t get the private message to send…

I want to put an EpiButton on a dashboard in the tracker view that when you click it, it displays a message.

So basically I’ll name the button “Tips”, users will click it and a message will popup with all the tips for the dashboard.

I tried digging through the Google results but I couldn’t find one that would help with this. I might’ve found one that could help back in 2008, but it’s all in VB which I have zero experience with… I have a tiny bit more experience with C# :slight_smile:

Any help/insight would be greatly appreciated,
Thank you

Caleb

Check out this post, it has more information than you need, but I think if you take that basic code and strip out all of the extra stuff and hardcode your message into the message box, you can get it to work. It’s not formatted nicely, but it should be able to serve your purpose. You will have to do this is an assembly dashboard (you have to deploy it) and then customize that to get this to work. (I’m pretty sure.) I’m sure @Chris_Conn will come by and show you how.

	MessageBox.Show("CSV: " + myCSV);
	source[0] = myCSV;
	System.IO.File.WriteAllLines(to,source);

So probably something like this.

MessageBox.Show("type your tips here");

Plus all of the per-requisite stuff with the button.

2 Likes

Thanks for the link. I’ll check it all out and report back once I give it a few tries

I’m going to be leaving the office for the day shortly…

But I tried customizing the deployed dashboard and added

private void BtnInfoClick(object sender, EventArgs e)
{
MessageBox.Show(“Test”);
}

And then saved that.

Then I went to Dashboard and pulled up that dashboard ID and put an Event on that button that does:

private static void btnInfo_Click(object sender, System.EventArgs args)
{
BtnInfoClick();
}

It feels like I’m missing something… Or just doing it completely wrong

That would be how to get to the runtime, from there you need to deploy the dashboard, then add it to the menu (see screen shot and follow instructions to deploy, do you know how to add menu items?). Then you customize it there using developer mode, (like you would an existing menu). Adding the custom code in the run time version won’t work right. I wouldn’t even put the button on the tracker until after it’s been deployed and added to the menu.

image

1 Like

That;s the definition of an event - it still has to be attached to something. Did you use the wizard to create the click event for the button? If so you should see something like:

YourBtnName.Click += new EventHandler(YourEvent)

1 Like

Just an assumption - did you happen to add that button BEFORE deploying it? If so you probably can’t modify - Epicor will take ownership.

The basic steps:
Setup basic dashboard info baq’s, trackers
Deploy as SmartClient
Create a menu item that calls dashboard-assembly - select your file from list
Restart E10 after ANY menu changes to take effect
Open your dashboard by using your menu item
Customize it - save customization
Go back to menu item and set the default customization.

1 Like

One of the best advice someone gave me, “Epicor is not like MS Access”, so the tricks of adding an event handler automatically gets linked to the object named or updating the control to update the underlying model just get me into trouble.

:thinking:

That or my Dad jokes…

1 Like

Aah alright so that’s why when I deployed the dashboard I wasn’t able to add an event wizard on that button… I’ll try deleting the button on the “runtime” and then add it to the customization instead.

Thanks everyone

1 Like

How might I attach that event to the button clicks?

I have:

private void BtnInfoClick(object sender, System.EventArgs args)
{
MessageBox.Show(“Test”);
}

plus the button event (through the wizard):

private void btnInfo_Click(object sender, System.EventArgs args)
{
	BtnInfoClick();
}

That’s all through customization; but I’m getting the error - Error: CS1501 - line 61 (155) - No overload for method ‘BtnInfoClick’ takes 0 arguments

So I’m assuming it wants me to add an argument for “BtnInfoClick();” but I didn’t think I needed one… I thought that part of the code was basically saying "On button click call the event “BtnInfoClick” which will display the message with “Test”

Your code in the “official” buttonClick event should NOT be BtnInfoClick().

Just make it MessageBox.Show(“Test”); :smiley:

2 Likes

That was it.

Thank you Chris + Others - now I have a little more understanding of this stuff!

Add the custom button


Then go to Wizards-> Event Wizards and Select EpiButton, YourButton, Click Event

Then click the right arrow and the Update Selected Event Code Button

Then head over tot he SCrip Editor, find the yourButtong_Click function and put in your message box

Then save the customization, close it -> reload it and try it
image

6 Likes

Great post for future purposes.

Thanks Jose! BTW I originally tried to private message you this question, but I wasn’t able to.

This is a question that should be answered in the forum anyways, because now this information is available to everyone, that’s the beauty of the forum. I’m sure there others that will have the same question, and now they can just search the forum and find the answers, as well as others (like me) that may just happen to see these posts and learn something that they didn’t know that they didn’t know, which leads to more discovery and learning.

4 Likes

Yeah @Caleb323 please don’t private message me (or anyone) questions. Go ahead and ask them in the forum so that everyone can benefit :slight_smile: , plus you get the benefit of different points of views on the responses

1 Like