Hey
I’ve got a BAQ DataView bound to a grid on the Part Advisor form. Works well, and highlights some conditions too. I’ve added another column to the underlying BAQ, but it isn’t showing up in the grid. You can’t select the columns either.
// **************************************************
// Custom code for PartAdvisorForm
// Created: 28/04/2018 10:31:34
// **************************************************
extern alias Erp_Contracts_BO_PartAdvisor;
extern alias Erp_Contracts_BO_Part;
using System;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Windows.Forms;
using Erp.Adapters;
using Erp.UI;
using Ice.Lib;
using Ice.Adapters;
using Ice.Lib.Customization;
using Ice.Lib.ExtendedProps;
using Ice.Lib.Framework;
using Ice.Lib.Searches;
using Ice.UI.FormFunctions;
using Ice.Lib.Broadcast;
public class Script
{
// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
// Begin Wizard Added Module Level Variables **
// End Wizard Added Module Level Variables **
// Add Custom Module Level Variables Here **
BAQDataView baqViewOnHand;
public void InitializeCustomCode()
{
// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
// Begin Wizard Added Variable Initialization
// End Wizard Added Variable Initialization
// Begin Wizard Added Custom Method Calls
CreateLateBAQView();
CreateRowRuleOnHandIncQAHoldCalculated_QAHoldNotNulEquals_true();
CreateRowRuleOnHandIncQAHoldPartLot_ExpirationDateLessThan_Constant_MinCode();
// End Wizard Added Custom Method Calls
}
public void DestroyCustomCode()
{
// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
// Begin Wizard Added Object Disposal
// End Wizard Added Object Disposal
// Begin Custom Code Disposal
// End Custom Code Disposal
}
public void CreateLateBAQView()
{
baqViewOnHand = new BAQDataView("PartAdvisorOnHandIncQAHoldGrid");
oTrans.Add("OnHandIncQAHold", baqViewOnHand);
string pubBinding = "PartView.PartNum";
IPublisher pub = oTrans.GetPublisher(pubBinding);
if(pub == null)
{
oTrans.PublishColumnChange(pubBinding, "MyCustomPublish");
pub = oTrans.GetPublisher(pubBinding);
}
if(pub !=null)
baqViewOnHand.SubscribeToPublisher(pub.PublishName, "PartBin_PartNum");
}
private void CreateRowRuleOnHandIncQAHoldCalculated_QAHoldNotNulEquals_true()
{
// Description: QAHold
// **** begin autogenerated code ****
RuleAction warningOnHandIncQAHold_RowAction = RuleAction.AddRowSettings(this.oTrans, "OnHandIncQAHold", false, SettingStyle.Error);
RuleAction[] ruleActions = new RuleAction[] {
warningOnHandIncQAHold_RowAction};
// Create RowRule and add to the EpiDataView.
RowRule rrCreateRowRuleOnHandIncQAHoldCalculated_QAHoldNotNulEquals_true = new RowRule("OnHandIncQAHold.Calculated_QAHoldNotNul", RuleCondition.Equals, true, ruleActions);
((EpiDataView)(this.oTrans.EpiDataViews["OnHandIncQAHold"])).AddRowRule(rrCreateRowRuleOnHandIncQAHoldCalculated_QAHoldNotNulEquals_true);
// **** end autogenerated code ****
}
private void CreateRowRuleOnHandIncQAHoldPartLot_ExpirationDateLessThan_Constant_MinCode()
{
// Description: MinStockDate
// **** begin autogenerated code ****
RuleAction errorOnHandIncQAHold_RowAction = RuleAction.AddRowSettings(this.oTrans, "OnHandIncQAHold", false, SettingStyle.Warning);
RuleAction[] ruleActions = new RuleAction[] {
errorOnHandIncQAHold_RowAction};
// Create RowRule and add to the EpiDataView.
RowRule rrCreateRowRuleOnHandIncQAHoldPartLot_ExpirationDateLessThan_Constant_MinCode = new RowRule("OnHandIncQAHold.PartLot_ExpirationDate", RuleCondition.LessThan, DateTime.Today.AddDays(10), ruleActions);
((EpiDataView)(this.oTrans.EpiDataViews["OnHandIncQAHold"])).AddRowRule(rrCreateRowRuleOnHandIncQAHoldPartLot_ExpirationDateLessThan_Constant_MinCode);
// **** end autogenerated code ****
}
private void PartAdvisorForm_Load(object sender, EventArgs args)
{
EpiDataView evContext = ((EpiDataView)(oTrans.EpiDataViews["CallContextClientData"]));
oTrans.EpiBaseForm.Text = oTrans.EpiBaseForm.Text + " (" + evContext.CurrentDataRow["CustomizationId"].ToString() + ")";
}
}