@noorula77
You can remove the attribute in a cache attached and attach your own selector attribute.
This is the INLotSerialNbr Attribute, it may be useful to re-create this with more parameters which includes your custom field.
public INLotSerialNbrAttribute()
{
}
public INLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type CostCenterType)
{
Type type = BqlCommand.GetItemType(InventoryType);
if (!typeof(ILSMaster).IsAssignableFrom(type))
{
throw new PXArgumentException("itemType", "The specified type {0} must implement the {1} interface.", type.GetLongName(), typeof(ILSMaster).GetLongName());
}
_InventoryType = InventoryType;
_SubItemType = SubItemType;
_LocationType = LocationType;
_CostCenterType = CostCenterType;
InitializeSelector(GetLotSerialSearch(InventoryType, SubItemType, LocationType, CostCenterType), typeof(INLotSerialStatusByCostCenter.lotSerialNbr), typeof(INLotSerialStatusByCostCenter.siteID), typeof(INLotSerialStatusByCostCenter.locationID), typeof(INLotSerialStatusByCostCenter.qtyOnHand), typeof(INLotSerialStatusByCostCenter.qtyAvail), typeof(INLotSerialStatusByCostCenter.expireDate));
}
public INLotSerialNbrAttribute(Type InventoryType, Type SubItemType, Type LocationType, Type ParentLotSerialNbrType, Type CostCenterType)
: this(InventoryType, SubItemType, LocationType, CostCenterType)
{
InitializeDefault(ParentLotSerialNbrType);
}
Hope this helps,
Aleks