我们正在尝试在自定义页面中实现“ InventoryCD”(字符串)字段(而不是Inventory ID Int字段)。我们需要这个InventoryCD字段像库存项目InventoryCD字段(段显示的字段掩码和现有项目的选择器)一样工作。当前问题是相同的aspx PXSegmentMask和DAC属性不能正常工作。我们在字段上使用InventoryRawAttribute的方式与为InventoryItem.InventoryCD附加的InventoryItemMaint缓存完全相同。唯一的例外是库存CD字段不是我们自定义页面中的键。

我们的问题是,段遮罩的库存CD字段仅在我们不输入或不关注该字段时显示(用户必须单击移动到另一个字段)。这使用户难以跟踪他们要输入值的细分。所以我的问题是我们缺少什么?

到目前为止,这是我们所做的:

(1)DAC-InventoryCD(与附加的InventoryItemMaint缓存中的InventoryItem.InventoryCD相同-除了IsKey = false):

public abstract class inventoryCD : PX.Data.IBqlField
{}

protected String _InventoryCD;

[PXDefault()]
[InventoryRaw(typeof(Where<InventoryItem.stkItem, Equal<True>>), DisplayName = "Inventory ID", Filterable = true)]
public virtual String InventoryCD
{
    get
    {
        return this._InventoryCD;
    }
    set
    {
        this._InventoryCD = value;
    }
}


(2)页-库存CD(从库存项目IN202500复制):

<px:PXSegmentMask ID="edInventoryCD" runat="server" DataField="InventoryCD"
    DataSourceID="ds" AutoRefresh="true" >
    <GridProperties FastFilterFields="InventoryCD,Descr" />
</px:PXSegmentMask>


这是我所看到的结果的示例(请参见下图)。请注意输入值或单击字段时字段的外观。在我们的自定义页面上,单击“库存CD”字段不会显示任何分段分隔。在“库存项目”页面上执行相同操作将显示分段的分隔,以便用户可以跟踪分段。我们如何使分段显示在我们的自定义页面中起作用?

c# - 库存CD段掩码和选择器-LMLPHP

编辑:如果在InventoryRawAttribute中将ValidComboRequired = true设置为掩码,则掩码将正确显示为库存项目,但是您松开了所有项目的选择器,然后该选择器成为了每个项目段值的选择器(使问题更糟)。仅供参考,以防有人看到我需要的某种类型的组合,因为它可能与ValidComboRequired有关(true时为掩码,false时为选择器)。

EDIT2:尝试使字段成为键(但不是DAC中的唯一键)并且没有区别

最佳答案

要获取输入掩码,可以在aspx中将AutoComplete设置为false而不自定义现成的InventoryRaw属性。

例:

using PX.Data;
using PX.Objects.IN;

namespace PXDemoPkg
{
    public class INSetupDemoExt : PXCacheExtension<INSetup>
    {
        public abstract class usrInventoryID : IBqlField { }

        #region UsrInventoryID
        [PXDefault]
        [PXUIField(DisplayName = "InventoryID")]
        [InventoryRaw(typeof(Where<InventoryItem.stkItem, Equal<True>>),
                        DisplayName = "Inventory ID", Filterable = true)]
        public virtual string UsrInventoryID { get; set; }

        #endregion
    }
}


c# - 库存CD段掩码和选择器-LMLPHP

c# - 库存CD段掩码和选择器-LMLPHP

关于c# - 库存CD段掩码和选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43101489/

10-13 05:59