The solution previously provided does work and the Retrieve button now functions. However, when the Customer> tab CustID is changed the grid with the custom BAQDataView is not cleared. I am using the ShipAll> tab grid. See code below:
public void CreateCustTrackerShipmentBAQView()
{
// Initialize the BAQDataView by giving it the BAQ name that will be used.
baqViewCustTrackerShipment = new BAQDataView(“MGAzCustTrackerShipment”);
// This will add the BAQDataView to the form, so we can bind it to the grid. The DataView will be called “CustTrackershipment”.
oTrans.Add(“CustTrackerShipment”,baqViewCustTrackerShipment);
// This will subscribe the BAQDataView (filter it) by the Customer.CustID - this from the Customer> Detail> tab
//string pubBinding = “Customer.CustID”; // this is the field binding value from the form.
//string pubBinding = “Customer.CustID”;
string pubBinding = “ShipAll.CustNum”; ← Original Data View
IPublisher pub = oTrans.GetPublisher(pubBinding); // if the publisher exist, then a publisher name will be returned.
if(pub==null) // if no publisher
{
MessageBox.Show(“CustID was not published”.ToString());
oTrans.PublishColumnChange(pubBinding, “MyCustomPublish”); // publish it
pub = oTrans.GetPublisher(pubBinding); // get a hold of that publisher
}
if(pub !=null) // if we have that publisher then we want to subscribe (filter) the BAQDataView to that publisher
baqViewCustTrackerShipment.SubscribeToPublisher(pub.PublishName, “ShipHead_CustNum”); // this is the actual column name from the BAQ
}
Do I need to clear the grid when the CustID is changed?