I am trying to restrict the Attributes that show in the Attributes tab on the Project Entry screen.
The Answers view on this graph is not a standard PXSelect. The first two lines are from the original graph.
I’ve tried using public virtual IEnumerable answers() and public virtual IEnumerable projectAnswers()
but neither of those fire my view override. I have a breakpoint on PXView currentView = Base.Answers.View; but it is never reached.
//[PXViewName(Messages.ProjectAnswers)]
//public TemplateAttributeList<PMProject> Answers;
public virtual IEnumerable answers()
{
PXView currentView = Base.Answers.View;
//var view = new PXView(Base, false, myDetails.View.BqlSelect);
//var startRow = PXView.StartRow;
var startRow = 0;
int totalRows = 0;
foreach (object row in currentView.Select(PXView.Currents, PXView.Parameters, PXView.Searches, PXView.SortColumns, PXView.Descendings, PXView.Filters, ref startRow, PXView.MaximumRows, ref totalRows))
{
CSAttributeGroup attributeGroup = PXResult.Unwrap<CSAttributeGroup>(row);
ICSProjTemplateAttrLinks item = SelectFrom<ICSProjTemplateAttrLinks>
.Where<ICSProjTemplateAttrLinks.contractID.IsEqual<@P.AsInt>
.And<ICSProjTemplateAttrLinks.attributeID.IsEqual<@P.AsString>>>
.View.Select(Base, Base.Project.Current.TemplateID, attributeGroup.AttributeID);
if (item != null)
{
yield return row;
}
}
}