如何强制在“账单和调整”屏幕的“文档详细信息”网格上启用一个字段

How can I force a field to be enabled on the Bills and Adjustments screen's Document Details grid

我目前正在尝试在 RowSelected 事件上强制启用一个字段,我之前已经开始工作,但现在没有。

当账单处于禁用网格的状态时,我有两个添加的用户字段我想保持启用状态。

我正在使用的代码是这样的,我认为它可以工作:

    protected virtual void APTran_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
    {
        var aptran = e.Row as APTran;
        if (aptran != null)
        {
            PXUIFieldAttribute.SetEnabled<APTranExt.usrGrantID>(cache, aptran, true);
            PXUIFieldAttribute.SetEnabled<APTranExt.usrReimbursementPeriod>(cache, aptran, true);
        }
    }

但是没用。

有什么想法吗?

谢谢...

很可能发生的情况是视图当前将允许更新设置为 false,这将覆盖您正在设置的启用状态。绕过这个的一种方法是,对于该状态,您将允许更新设置为 true。然后强制禁用除您想要的两个字段之外的整个网格。下面的示例:

protect virtual void APInvoice_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
{
    if (e.Row is APinvoice row)
    {
        if (status)
        {
            Transactions.Cache.AllowUpdate = true
            PXUIFieldAttribute.SetEnabled(Transactions.Cache, null, false);
            PXUIFieldAttribute.SetEnabled<APTranExt.usrGrantID>(Transactions.Cache, null, true);
            PXUIFieldAttribute.SetEnabled<APTranExt.usrReimbursementPeriod>(Transactions.Cache, null, true);
        }
    }
}