Clearing Combo.Text works in Order Entry, but not Customer Entry

I have two combo boxes in Customer Entry.
The first one dictates what’s in the second one.
When the value is changed in the first one, it’s supposed to clear the text in the second one (not what’s in the bound database field, just the display text).
This is done by

this.someCombo.Text = ""

However, it doesn’t seem to work in Customer Entry, but works just fine in Order Entry.
What’s up with Customer Entry? (Note** I tried doing both this.someCombo.Text as well as the GetNativeControlReference; neither worked)
Both of the combo boxes in Order/Customer Entry are EpiUltraCombos with datasources set via DynamicQueryAdapters.
I have also tried this.someCombo.Value = “” and this.someCombo.DataSource = null and various combinations thereof.

Order Entry Test Code:

	private void epiUltraComboC3_ValueChanged(object sender, System.EventArgs args)
	{
		// ** Place Event Handling Code Here **
		EpiUltraCombo pmCombo = (EpiUltraCombo)csm.GetNativeControlReference("2483294d-0d7b-4acf-af96-69c66e12902b");
		EpiUltraCombo letterCombo = (EpiUltraCombo)csm.GetNativeControlReference("bf59928f-d634-426f-ba68-ca51504c3705");
		string letter = letterCombo.Text;
        pmCombo.Text = ""; // <<<<<<<<<<<<<< Clears the text in the combo box

		using(var srA = new SalesRepAdapter(this.oTrans))
		{
			srA.BOConnect();
			
			SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
			opts.NamedSearch.WhereClauses.Add("SalesRep",string.Format("RoleCode='PM' AND InActive=0 AND SalesRepCode LIKE '{0}%'",letter));
	
			bool more = false;
			DataSet ds = srA.GetRows(opts, out more);
			pmCombo.DataSource = ds;
			pmCombo.ValueMember = "SalesRepCode";
			pmCombo.DisplayMember = "Name";
		}
	}

	private void epiUltraComboC1_ADW_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs args)
	{
		// ** Place Event Handling Code Here **
		UltraGridBand currentBand = args.Layout.Bands[0];

		foreach(UltraGridColumn c in currentBand.Columns)
		{
			if( !c.ToString().Equals("Name") )
				c.Hidden = true; 
		}
	}

Customer Entry Code:

	private void sectorBAQ_ADW_ValueChanged(object sender, System.EventArgs args)
	{
		// ** Place Event Handling Code Here **
		string sector = this.sectorBAQ_ADW.Text;
		this.clientCOMBO_ADW.Text = ""; // <<<<<<<<<<<<<< Does Not clear the text in the combo box
		this.groupCOMBO_ADW.Text = ""; // <<<<<<<<<<<<<< Does Not clear the text in the combo box

		using( DynamicQueryAdapter dqa1 = new DynamicQueryAdapter(oTrans) )
		{
		    dqa1.BOConnect();
			QueryExecutionDataSet qeds1 = dqa1.GetQueryExecutionParametersByID("UD30_Client");
			qeds1.ExecutionParameter.Clear();
			qeds1.ExecutionParameter.AddExecutionParameterRow("Sector", sector , "nvarchar", false, Guid.NewGuid(), "A");
			dqa1.ExecuteByID("UD30_Client", qeds1);

			this.clientCOMBO_ADW.DataSource = dqa1.QueryResults.Tables["Results"];
			this.clientCOMBO_ADW.ValueMember = "UD30_Key2";
			this.clientCOMBO_ADW.DisplayMember = "UD30_Key2";
		}
	}

	private void clientCOMBO_ADW_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs args)
	{
		// ** Place Event Handling Code Here **
		UltraGridBand currentBand = args.Layout.Bands[0];

		foreach(UltraGridColumn c in currentBand.Columns)
		{
			if( !c.ToString().Equals("UD30_Key2") )
				c.Hidden = true; 
		}
	}

I wonder if you need to wipe the DisplayMember?

I can’t remember why… but I ended up clearing combos with some routines like this a while back…
private static void ClearCombo3()
{
cmb3.DataSource = “”;
cmb3.ValueMember = “”;
cmb3.DisplayMember = “”;
cmbS3.SetColumnFilter("");
// MessageBox.Show(“ClearCombo3”);
}

You should likely use the dataView and wipe the value there.

While that works as well, I’m still unclear why setting the value to " " works in one module and not the other.

Each screen is different in how it handles logic, but if you use the dataView, it should act more consistent.