微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用自定义PXSelector控件中的2个字段进行搜索

如何解决使用自定义PXSelector控件中的2个字段进行搜索

我有一个使用以下代码构建的自定义PXSelector控件

using PX.Data.referentialIntegrity.Attributes;
using PX.Data;
using PX.Objects.AP;
using PX.Objects.CM;
using PX.Objects.Common.discount.Attributes;
using PX.Objects.Common.discount;
using PX.Objects.Common;
using PX.Objects.CR;
using PX.Objects.CS;
using PX.Objects.DR;
using PX.Objects.EP;
using PX.Objects.FA;
using PX.Objects.GL.DAC.Abstract;
using PX.Objects.GL;
using PX.Objects.IN;
using PX.Objects.PM;
using PX.Objects.PO;
using PX.Objects.TX;
using PX.Objects;
using System.Collections.Generic;
using System;

namespace PX.Objects.AP
{
  public class APTranExt : PXCacheExtension<PX.Objects.AP.APTran>
  {
    #region UsrResource
    [PXDBString]
    [PXUIField(displayName="Resource",required = true)]
    [PXSelector(
          typeof(Search<CSAttributeDetail.valueID,Where<CSAttributeDetail.attributeID,Equal<AttributeExtender.resource>>>),typeof(CSAttributeDetail.valueID),typeof(CSAttributeDetail.description),SubstituteKey = typeof(CSAttributeDetail.valueID)
    )]

    public virtual string UsrResource { get; set; }
    public abstract class usrResource : PX.Data.BQL.BqlString.Field<usrResource> { }
    #endregion
  }
     public static class AttributeExtender
  {
    public const string Resource = "RESOURCE";
    public class resource : PX.Data.BQL.BqlString.Constant<resource>
    {
       public resource() : base(Resource) {; }
    }
                               
  } 
}

挑战在于,当用户在控件中搜索资源时,搜索仅使用第一列(valueID)进行过滤,如下图所示

Custom PXSelector searching using first column only

标准PXSelector控件在选择器显示的所有列中进行搜索,如下图所示

Standard PXSelector searching across all columns

我的问题是,我如何启用我的自定义PXSelector控件,以允许用户像标准PXSelector控件一样在其显示的所有列(值ID和描述)中进行搜索,以便用户可以使用描述列进行搜索也一样?

解决方法

要执行搜索操作,我们需要在“网格属性”的“ FastFilterfiles”中添加所有字段。

请检查此链接,希望对您有所帮助-New customized column not performing search operation in SOLine InventoryID field selector in Acumatica

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。