C# Acumatica实时动态下拉列表
我有以下用例: Acumatica组合框/下拉列表,可以有8个左右的值,选择该值可确定用于在组合框/下拉列表中显示的表格/DAC e、 g:C# Acumatica实时动态下拉列表,c#,dropdown,erp,acumatica,C#,Dropdown,Erp,Acumatica,我有以下用例: Acumatica组合框/下拉列表,可以有8个左右的值,选择该值可确定用于在组合框/下拉列表中显示的表格/DAC e、 g: 如果当前StatusProfileID=WO1和Status=WCMP, WCMP是当前的UserStatus,然后UserStatus=WRJT、WEXE、WCMP 如果当前StatusProfileID=WO1和状态=WRJT, WRJT是当前的UserStatus,然后UserStatus=WEXE,WRJT 如何使显示的用户状态与当前状态一致,
- 如果当前
=WO1和StatusProfileID
=WCMP, WCMP是当前的Status
,然后UserStatus
=WRJT、WEXE、WCMPUserStatus
- 如果当前
=WO1和StatusProfileID
=WRJT, WRJT是当前的状态
,然后UserStatus
=WEXE,WRJTUserStatus
动态更改stringlist的一种方法是在适当的rowselected事件中使用下面的示例代码
if(somecondition)
PXStringListAttribute.SetList<DAC.Field>(sender, row,
new string[] { "WRJT", "WEXE", "WCMP" },
new string[] { "WRJT", "WEXE", "WCMP" });
else
PXStringListAttribute.SetList<DAC.Field>(sender, row,
new string[] { "WEXE", "WRJT" },
new string[] { "WEXE", "WRJT" });
if(某些条件)
PXStringListAttribute.SetList(发送方,行,
新字符串[]{“WRJT”、“WEXE”、“WCMP”},
新字符串[]{“WRJT”、“WEXE”、“WCMP”});
其他的
PXStringListAttribute.SetList(发送方,行,
新字符串[]{“WEXE”,“WRJT”},
新字符串[]{“WEXE”,“WRJT”});
只想使用选定的行示例扩展答案,但使用新语法,并适用于PXIntList:
protected virtual void _(Events.RowSelected<CROpportunity> e)
{
if (e.Row == null)
return;
var opportunityExtension = e.Row.GetExtension<CROpportunityExt>();
if (opportunityExtension.UsrProduct == 0)
{
var listInts = new List<int>();
var listStrings = new List<String>();
listInts.Add(0);
listInts.Add(1);
listInts.Add(2);
listStrings.Add("String 1");
listStrings.Add("String 2");
listStrings.Add("String 3");
PXIntListAttribute.SetList<CROpportunityExt.usrProposition>(e.Cache, e.Row, listInts.ToArray(), listStrings.ToArray());
}
if (opportunityExtension.UsrProduct == 1)
{
var listInts = new List<int>();
var listStrings = new List<String>();
listInts.Add(0);
listInts.Add(3);
listInts.Add(5);
listStrings.Add("String 2");
listStrings.Add("String 3");
listStrings.Add("String 4");
PXIntListAttribute.SetList<CROpportunityExt.usrProposition>(e.Cache, e.Row, listInts.ToArray(), listStrings.ToArray());
}
}
受保护的虚拟空间(Events.rowe)
{
如果(e.Row==null)
返回;
var opportunityExtension=e.Row.GetExtension();
if(opportunityExtension.UsrProduct==0)
{
var listInts=新列表();
var listStrings=新列表();
listInts.Add(0);
增加(1);
增加(2);
添加(“字符串1”);
添加(“字符串2”);
添加(“字符串3”);
PXIntListAttribute.SetList(e.Cache,e.Row,listInts.ToArray(),listStrings.ToArray());
}
if(opportunityExtension.UsrProduct==1)
{
var listInts=新列表();
var listStrings=新列表();
listInts.Add(0);
增加(3);
增加(5);
添加(“字符串2”);
添加(“字符串3”);
添加(“字符串4”);
PXIntListAttribute.SetList(e.Cache,e.Row,listInts.ToArray(),listStrings.ToArray());
}
}