默认情况下隐藏网格中的列

时间:2018-01-09 21:43:57

标签: acumatica

使用新的自定义屏幕/图形/ DAC,如何在默认情况下隐藏的网格中的列?这就是我想要Grid中的列/控件,但只有当用户进入Column Configuration并选择添加它时才会显示。 (这些是自定义处理屏幕网格上的纯信息列)

2 个答案:

答案 0 :(得分:1)

DAC字段的可见性由PXUIField属性属性控制。

  • '可见'属性确定该字段是否显示在屏幕上。
  • '可见性'属性确定该字段是否可用于显示。

对于您的用例,您希望默认隐藏它(Visible = false)并使其可用于在网格列选择对话框中显示(Visibility = PXUIVisibility.Visible):

[PXUIField(Visibility = PXUIVisibility.Visible, Visible = false)]

您还可以使用静态函数而不是DAC字段属性设置这些属性:

PXUIFieldAttribute.SetVisibility(cache, null, typeof(DAC.field).Name, PXUIVisibility.Visible);
PXUIFieldAttribute.SetVisible(cache, null, typeof(DAC.field).Name, false);

答案 1 :(得分:0)

在DAC或图表中,您可以将Visible属性字段设置为false

在“行顺序”字段的销售订单上找到的示例。

#region SortOrder
public abstract class sortOrder : PX.Data.IBqlField
{
}
protected Int32? _SortOrder;
[PXUIField(DisplayName = AP.APTran.sortOrder.DispalyName, Visible = false, Enabled = false)]
[PXDBInt]
public virtual Int32? SortOrder
{
    get
    {
        return this._SortOrder;
    }
    set
    {
        this._SortOrder = value;
    }
}
#endregion