使用PXCustomSelector派生的属性并实现GetRecords()函数,是否有任何方法可以在单击按钮以显示选择器选项值或输入的值之前,在原始输入字段中获取用户提供的值。在“选择器”选项面板的“过滤器”字段中?
我有一个自定义选择器,该选择器通过API从外部数据源中检索值,然后将这些结果包装到DAC中,并将它们作为选择器选项返回。出于性能原因,我需要能够获取用户提供的Filter值并将其用于检索外部数据。更改弹出面板中的过滤器值后,GetRecords()函数会运行,但我无法找到可以访问为过滤器提供的值的任何地方。
[Serializable]
public class MyExternalDataSelectorAttribute : PXCustomSelectorAttribute
{
public virtual IEnumerable GetRecords()
{
var externalGateway = new ExternalGateway();
var filterValue = /*** How to get the user's Filter value here? ***/
var externalData = externalGateway.GetFilteredData( filterValue );
foreach(var item in externalData)
{
yield return new ExternalDataDACWrapper() { ... };
}
}
}
“ foobar”在哪里?