Using a UD grid on the Receipt Entry screen

I’ve added a customization the Receipt Entry screen. Following the tabs: Lines > Detail … at the bottom of the screen I’ve added an new tab called “Certification #'s” at the bottom of the screen. Within that tab I’ve added a grid (for the sake of argument and giving the grid a name, let’s call it grdCertificationNumbers). This grid has a UD02 table source with a couple of Receipt Entry fields used as key values for the UD02 records.

My problem is, I can’t seem to access that grid to format it correctly at the time the screen loads … or to do anything else I’d need to do with it. I’ve not got to the point of actually attempting to enter data yet to see if it even can be done, but I’ve just been stuck on just being able to touch it.

What syntax is needed for me to access that grid at the time the screen is loading?

Did you use the “Add UDTable as child” wizard to get you going? That should build out the basic framework.

Mr. Ripple,

Thank you for taking the time to look my post. Very much appreciated.

Yes, I believe I did. That’s how I was to create the name, associate it to a UD02View. That allowed me to open the epiUltraGrid collection and define my column headers, which to hide, etc …

What table/fields you used to link on when you ran the wizard?

And are you able to add a new UD child record from the menu on Receipt Entry?
(i.e. thinking your grid probably only allows paste insert/update)

Mr. Ordway,

The screen in question is the Receipt Entry screen and I’m needing to associate specific certification numbers to material being received for the production of parts. So, I’m using the Part Number and Lot Number of the material being received. The 3rd value being used is the certification test of the material coming from the vendor:

	// Set the parent view / keys for UD child view
	string[] parentKeyFields = new string[2];
	string[] childKeyFields  = new string[2];
	parentKeyFields[0] = "PartNum";
	childKeyFields[0]  = "Key1";
	parentKeyFields[1] = "LotNum";
	childKeyFields[1]  = "Key2";
	Script._edvUD02.SetParentView(Script._edvReceivedRcvDtl, parentKeyFields, childKeyFields);

The above sample code shows that I’m getting these values from the edvReceivedRcvDtl view. The UD02 table is where these values are to be stored which is being created using this code and happens before the code shown above:

	// Create an instance of the Adapter.

	Script._ud02Adapter = new UD02Adapter(Script.oTrans);
	Script._ud02Adapter.BOConnect();

	// Add Adapter Table to List of Views
	// This allows you to bind controls to the custom UD Table

	Script._edvUD02 = new EpiDataView();
	Script._edvUD02.dataView = new DataView(Script._ud02Adapter.UD02Data.UD02);
	Script._edvUD02.AddEnabled = true;
	Script._edvUD02.AddText = "New UD02";

All of this was created be the customization sheet wizard.

Mr. Ordway,

To answer the 2nd part of your question, no, I’ve not been able to add anything to my new grid yet.

What about a new UD record - from the main menu?
Ref screen shot
And note the keys I used - PackSlip = Key1, PackLine = Key2
— may try those, and then use Keys 3 and 4 for your other fields?
image

Mr. Ordway,

I am actually able to enter and save data using my initial setup. Specifically using the ‘New UD02’ menu option worked … (I’m new enough to Epicor that I wasn’t used to this yet)

What I’d like to be able to do is set the column widths at the time of loading because the real values to be entered here will be longer that what I’m showing. I have been able to control the column settings on the search result output, but to do it on on the this screen, the epiUltraGrid seems to be a little different. When I enter a break point in the code, the epiUltraGrid control is recognizable but, for example, the epiUltraGridName.column[0].width doesn’t seem to exist.

Also, how can I change the new record option from ‘New UD02’ to ‘New Certification’?

Again, thank you for taking the time to look at this.

You need to include the following : …

using Infragistics.Win.UltraWinToolbars;
using System.Reflection;

Then Capture the Tool Key using the following method:

private void baseToolbarsManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs args)
{
EpiMessageBox.Show(args.Tool.Key.ToString());
}

Then use the following Code on Form Load Event to replace the Key Caption:

baseToolbarsManager.Tools[“NewTool”].SharedProps.Caption = “Hello New Tool” ;

Ok … thank you. I’ll give this a try.

I’m getting this error when testing my code:

Error: CS0708 - line 452 (786) - ‘baseToolbarsManager_ToolClick’: cannot declare instance members in a static class

Instead of previous example, I have make adjustments in the wizard generated code.
e.g. something like this
// Comment Out ****************
//this._edvUD09.AddText = “New UD09”;
// Add New Line *****************
this._edvUD09.AddText = “New XXXX”;
and this


	private void baseToolbarsManager_ToolClickForUD09(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs args)
{
	// EpiMessageBox.Show(args.Tool.Key);
	switch (args.Tool.Key)
	{
		case "EpiAddNewNew UD09":
			GetNewUD09Record();
			break;
		//NEW Case **************************************
		case "EpiAddNewNew XXXX":
			GetNewUD09Record();
			break;

Off the top of my head I don’t remember having to change anything else.

Thank you, Bruce. I’ll try this as soon as I can and let you know.

The Error is because you need to add ToolBar Click Event first using the Form Event, I thought you will consider this at your end.

Hey guys … Thank you for all of your help. What was given here did work and I apologize for not getting back to you earlier. After getting this to work, I got busy on something else. But, thank you for all you help.