我正在尝试在SmartPanel网格上显示具有其他功能的attributeID和值。我可以显示这些值,但是这些值是文本类型的。我无法获得类似于IN202500的“属性”标签中的值的控件类型(复选框,组合框等)。
我扩展了CSAnswers DAC以及AttributeID和Value字段。
public PXSelectJoin<CSAnswers3,
LeftJoin<CSAnswers,On<CSAnswers.attributeID,
Equal<CSAnswers3.attributeID>>>> DetailsView;
[Serializable]
[PXPossibleRowsList(typeof(CSAttribute.description),
typeof(CSAnswers3.attributeID), typeof(CSAnswers3.value))]
public class CSAnswers3 : CSAnswers
{
[PXDBString(10, InputMask = "", IsKey = true, IsUnicode = true)]
[PXDefault]
[PXUIField(DisplayName = "Attribute", Enabled = false)]
[CSAttributeSelector]
public override string AttributeID { get; set; }
public new abstract class attributeID : IBqlField, IBqlOperand { }
[PXDBString(255, IsUnicode = true)]
[PXUIField(DisplayName = "Value")]
[CSAttributeValueValidation(typeof(CSAnswers3.attributeID))]
[PXPersonalDataFieldAttribute.Value]
public override string Value { get; set; }
}
<px:PXSmartPanel runat="server" ID="AttributeInfo" Key="detailsView"
LoadOnDemand="True" Caption="AttributeInfo">
<px:PXGrid runat="server" ID="CstPXGrid2" AutoAdjustColumns="True"
DataSourceID="ds" MatrixMode="True" SkinID="Attributes">
<Levels>
<px:PXGridLevel DataMember="detailsView">
<Columns>
<px:PXGridColumn DataField="AttributeID" Width="120" />
<px:PXGridColumn DataField="Value" Width="280" /></Columns>
</px:PXGridLevel></Levels></px:PXGrid>
<px:PXPanel runat="server" ID="CstPanel3">
<px:PXButton runat="server" ID="CstButton4" DialogResult="OK"
Text="Close" /></px:PXPanel></px:PXSmartPanel></asp:Content>
我试图在网格上获取“控件类型”(如CheckBox,Combo等)的值,如“库存项目屏幕”的“属性”标签中一样。
答案 0 :(得分:0)
Acumatica数据库中有一个表CSAttribute,并且该表具有ControlType列。在Sales演示数据库的示例中,您可以看到可以通过以下SQL查找属性“ SALESGOALY”的ControlType:
&
,您可以使用以下BQL来获取类型:
stderr
Acumaitca源代码的以下片段在键入时给出了确切答案:
stdout
表示“ SALESGOALY”的类型为1,或者是文本。