自定义选择器挑战
Custom selector challenges
我有一个带有多个自定义 select 的自定义屏幕,它们会根据下拉列表 select 更改内容。
我实现的方案如上一个案例所示:
(谢谢)。
我的挑战是双重的:
1.) 如果下拉列表 selection 是 "No Lookup",那么我希望基本上删除 PXSelector 属性 - 只留下一个文本条目。不确定这是否可能...
2.) 如果 select 之一(比方说项目)是 selected,我想要以下 selection select或(比如说任务)根据项目进行筛选 selected.
非常感谢...
1) 我认为唯一的方法是创建自己的属性。
类似的东西:
public class PXSelectorTextEditAttribute : PXSelectorAttribute
{
bool selectorMode;
public PXSelectorTextEditAttribute(Type type, bool selectorOn):base(type)
{
selectorMode = selectorOn;
}
public override void FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e)
{
if(selectorMode)
base.FieldVerifying(sender, e);
}
public static void SwitchSelectorMode(PXSelectorTextEditAttribute attribute, bool onOff)
{
attribute.selectorMode = onOff;
}
}
您将能够打开和关闭属性的 'selector' 部分。关闭字段验证后,您将能够像在简单的 TextEdit 字段中一样将任何值放入该字段。但是,字段右端的查找按钮仍然可见。我不知道如何隐藏它。
2) 这种行为很容易实现。您将需要类似的东西(基于现金帐户的示例):
[PXSelector(typeof(Search<CABankTran.tranID, Where<CABankTran.cashAccountID, Equal<Current<Filter.cashAccountID>>>>))]
如果您想在未定义 cashaccount 时查看所有记录,则只需修改 where 子句,添加 Or<Current<Filter.cashAccountID>, isNull>
另外不要忘记将 AutoRefresh="true"
添加到 aspx.xml 文件中的 PXSelector。没有它,您的选择器将保留记录列表,直到您在其中按下刷新。
我有一个带有多个自定义 select 的自定义屏幕,它们会根据下拉列表 select 更改内容。
我实现的方案如上一个案例所示:
我的挑战是双重的:
1.) 如果下拉列表 selection 是 "No Lookup",那么我希望基本上删除 PXSelector 属性 - 只留下一个文本条目。不确定这是否可能...
2.) 如果 select 之一(比方说项目)是 selected,我想要以下 selection select或(比如说任务)根据项目进行筛选 selected.
非常感谢...
1) 我认为唯一的方法是创建自己的属性。
类似的东西:
public class PXSelectorTextEditAttribute : PXSelectorAttribute
{
bool selectorMode;
public PXSelectorTextEditAttribute(Type type, bool selectorOn):base(type)
{
selectorMode = selectorOn;
}
public override void FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e)
{
if(selectorMode)
base.FieldVerifying(sender, e);
}
public static void SwitchSelectorMode(PXSelectorTextEditAttribute attribute, bool onOff)
{
attribute.selectorMode = onOff;
}
}
您将能够打开和关闭属性的 'selector' 部分。关闭字段验证后,您将能够像在简单的 TextEdit 字段中一样将任何值放入该字段。但是,字段右端的查找按钮仍然可见。我不知道如何隐藏它。
2) 这种行为很容易实现。您将需要类似的东西(基于现金帐户的示例):
[PXSelector(typeof(Search<CABankTran.tranID, Where<CABankTran.cashAccountID, Equal<Current<Filter.cashAccountID>>>>))]
如果您想在未定义 cashaccount 时查看所有记录,则只需修改 where 子句,添加 Or<Current<Filter.cashAccountID>, isNull>
另外不要忘记将 AutoRefresh="true"
添加到 aspx.xml 文件中的 PXSelector。没有它,您的选择器将保留记录列表,直到您在其中按下刷新。