Hi @dsimmerly have you try like below mentioned steps.
- Configuration Requirements:
- The field must have a proper PXSelector attribute with Search type
- Include all fields you want visible in the lookup window
- Define a View specifically for the lookup functionality
// 1. DAC Extension Configuration
public class SOShipmentExtension : PXCacheExtension<SOShipment>
{
#region UsrCustomField
[PXDBString(50)]
[PXUIField(DisplayName = "Custom Field")]
// Add PXSelector to enable proper lookup functionality
[PXSelector(
typeof(Search<SOShipmentExtension.usrCustomField>),
typeof(SOShipmentExtension.usrCustomField),
// Include other relevant fields you want to show in the lookup
typeof(SOShipment.shipmentNbr),
typeof(SOShipment.status)
)]
public virtual string UsrCustomField { get; set; }
public abstract class usrCustomField : PX.Data.BQL.BqlString.Field<usrCustomField> { }
#endregion
}
// 2. Graph Extension for handling the lookup
public class SOShipmentEntryExtension : PXGraphExtension<SOShipmentEntry>
{
// Add a view specifically for the lookup
public PXFilter<SOShipmentFilter> Filter;
public PXSelectReadonly<SOShipment,
Where<SOShipmentExtension.usrCustomField, Like<Current<SOShipmentFilter.usrCustomField>>>> LookupView;
// Filter DAC for the lookup
[Serializable]
public class SOShipmentFilter : IBqlTable
{
#region UsrCustomField
[PXDBString(50)]
[PXUIField(DisplayName = "Custom Field")]
public virtual string UsrCustomField { get; set; }
public abstract class usrCustomField : PX.Data.BQL.BqlString.Field<usrCustomField> { }
#endregion
}
}
// 3. ASPX Configuration
/*
<px:PXGridColumn DataField="UsrCustomField" Width="100px" AllowFilter="True">
<AutoCallBack Command="ViewDetails" Target="ds" />
</px:PXGridColumn>
*/
// 4. Lookup Configuration in the Process Screen (e.g., SO505000.aspx)
/*
<px:PXSelector ID="edUsrCustomField" runat="server"
DataField="UsrCustomField"
AutoRefresh="True"
TextMode="Search"
AllowEdit="True">
<GridProperties>
<Columns>
<px:PXGridColumn DataField="UsrCustomField" Width="150px" />
<px:PXGridColumn DataField="ShipmentNbr" Width="100px" />
<px:PXGridColumn DataField="Status" Width="100px" />
</Columns>
<Layout ColumnsMenu="True" FilterBox="True" />
</GridProperties>
</px:PXSelector>
*/
*/