How to populate EpiCombo with Child UD101a table

I have a UD101/UD101a set of data… I want to put two combo boxes on the Part table
Field 1: Combo populated from UD100
Field 2: Combo populated from UD100a.ChildKey1 filtered on UD100.Key1 value entered above.

Anyone know how to do this?

EXTRA CREDIT:
Would love to allow user to optionally choose from Field 2 first, which would auto populate the value from UD100.Key1

Tim,

Just on the fly here… hopefully someone has a more solid solution. I did this like 7 years ago and haven’t revisited it since. It was laying around still in VB.net but i ran it through telerik (so watch for parens where there should be brackets) to help make it a bit more readable. I had this in place back in Vantage 8, and it worked perfectly. You may have to tweak this since i haven’t shook it out in C# but your answer lies within. Like most of us, so many things I’d do differently but conceptually this works.

public class Script
{
	// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
	// Begin Wizard Added Module Level Variables **

        Private EpiBaseAdapter oTrans_adapter;
        Private UD103Adapter  ud103Adapter;
	// End Wizard Added Module Level Variables **

	// Add Custom Module Level Variables Here **

    public void InitializeCustomCode()
    {
        ud103Adapter = new UD103Adapter(oTrans);
        ud103Adapter.BOConnect();
        oTrans_adapter = csm.TransAdaptersHT("oTrans_adapter");
    }


    private void FillUD103ACombo(string Key1)
    {
        System.Collections.Hashtable myHash = new System.Collections.Hashtable();
        string wClause = "Key1= '" + amp;/* TODO ERROR: Skipped SkippedTokensTrivia */
        myHash.Add("UD103A", wClause);
        // MessageBox.show(wClause)
        SearchOptions opts = Ice.Lib.Searches.SearchOptions.CreateRuntimeSearch(myHash, DataSetMode.RowsDataSet);
        ud103Adapter.InvokeSearch(opts);
    }


    private void ucbSubReason_BeforeDropDown(object Sender, System.ComponentModel.CancelEventArgs Args)
    {
        EpiDataView edvoprView = (EpiDataView)oTrans.EpiDataViews("oprView");
        string Key1 = edvoprView.dataView(edvoprView.Row)("Character02");
        FillUD103ACombo(Key1);
    }


    private void ucbSubReasonPO_BeforeDropDown(object Sender, System.ComponentModel.CancelEventArgs Args)
    {
        EpiDataView edvporView = (EpiDataView)oTrans.EpiDataViews("porView");
        string Key1 = edvporView.dataView(edvporView.Row)("Character02");
        FillUD103ACombo(Key1);
    }

    private void InspectionProcessingEntryForm_Load(object sender, EventArgs args)
    {
        // //
        // // Add Event Handler Code
        string[] fields = new string[] { "Character01" };
        ucbSubReason.DataSource = ud103Adapter.UD103Data.UD103A;
        ucbSubReason.ValueMember = "Character01";
        ucbSubReason.DisplayMember = "Character01";
        ucbSubReason.SetColumnFilter(fields);

        ucbSubReasonPO.DataSource = ud103Adapter.UD103Data.UD103A;
        ucbSubReasonPO.ValueMember = "Character01";
        ucbSubReasonPO.DisplayMember = "Character01";
        ucbSubReasonPO.SetColumnFilter(fields);
    }
}

Not sure about the extra credit but for the combos can’t you just set a filter on the 2nd based on field 1?

First Combo

Second Combo