使用下面的Acumatica代码,我能够有条件地在案例屏幕中创建一个新的网格;但是,PXSelect命令并没有显示网格中的所有行。我试图做的是基于";关系;取CRRelation.targetNoteID的值并将所有ARRegister数据拉入名为";CAM信息";。但是;CAM信息";图形视图仅显示从"0"开始的第一行;关系;而不是所有其他的。(请参阅屏幕截图以供参考)我需要如何编写Acumatica代码来查找、选择和显示";CAM信息";网格
using System.Collections.Specialized;
using System.Linq;
using PX.Common;
using PX.Data;
using System.Collections;
using PX.Data.EP;
using PX.Objects.AR;
using PX.Objects.CT;
using PX.Objects.CR.Workflows;
using PX.Objects.GL;
using PX.Objects.EP;
using PX.Objects.IN;
using PX.Objects.PM;
using PX.SM;
using PX.TM;
using PX.Objects;
using PX.Objects.CR;
using System.Net.Http;
using System.Collections.Generic;
using System.Collections;
namespace PX.Objects.CR
{
public class CRCaseMaint_Extension : PXGraphExtension<CRCaseMaint>
{
#region Event Handlers
protected virtual void CRCase_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler)
{
InvokeBaseHandler?.Invoke(cache, e);
var row = (CRCase)e.Row;
if (row != null)
{
if (row.CaseClassID == "CAM")
{
PXUIFieldAttribute.SetVisible<Objects.CR.CRCaseExt.usrRMAReason>(cache, row, false);
PXUIFieldAttribute.SetVisible<Objects.CR.CRCaseExt.usrSupportCategory >(cache, row, false);
PXUIFieldAttribute.SetVisible<Objects.CR.CRCaseExt.usrContractDesc>(cache, row, false);
PXUIFieldAttribute.SetVisible<Objects.CR.CRCaseExt.usrCaseStage>(cache, row, false);
PXUIFieldAttribute.SetVisible<Objects.CR.CRCaseExt.usrIGAHEquipmentID>(cache, row, false);
}
}
}
#endregion
// Following view delaration populates the ARRegister info; but only one line
#region Selects
public PXSelect<ARRegister, Where<ARRegister.noteID, Equal<CurrentValue<CRRelation.targetNoteID>>>> CAMRelationsView;
#endregion
}
}```
[![Cases Relations Tab grid][1]][1]
[![Cases CAM Info Tab grid][2]][2]
[1]: https://i.stack.imgur.com/m4KA0.jpg
[2]: https://i.stack.imgur.com/CBYNQ.jpg
声明视图不正确。你需要像这个一样申报
public PXSelect<ARRegister, Where<ARRegister.noteID, Equal<Current<CRRelation.targetNoteID>>>> CAMRelationsView;
此外,您需要再设置2个设置
关系网格的SyncPosition
应设置为true
AutoCallBack
事件上,您需要使用网格ID
为自己的网格视图编写动态更新Current<Field>
-插入缓存的Current
属性中的字段值。如果Current
属性为null或字段值为null,则参数将替换为默认值CurrentValue<Field>
-等效于Current
参数,但用于PXProjection
属性
显示所有ARRegister
。这取决于您将在"关系"选项卡上输入的记录。
- 如果是
Customer
记录,则可以为该客户选择所有ARRegister
- 如果是
ARRegister
记录,则可以选择所有相关交易如果ARRegister
是付款,您可以选择所有申请的发票如果ARRegister
是发票,则可以选择所有应用的付款