如何创建具有样式的新选项卡作为库存项目的描述选项卡?

How to create new tab that has style as Description tab for Stock Items?

我想创建新选项卡(软件解决方案)并添加与描述选项卡相同的新字段(解决方案)以允许用户添加一些描述。

这就是我所做的。

您需要使用 PXRichTextEdit 控件来实现。自定义设计不允许您选择此控件类型,因此您可能需要直接手动编辑 ASPX 文件以添加 PXRichTextEdit。在布局编辑器中,select Actions->Edit Aspx,然后手动修改 ASPX 以添加新控件。然后您可以单击“生成自定义脚本”按钮来更新自定义项目。

这是描述选项卡在 ASPX 中的样子:

            <px:PXTabItem Text="Description" LoadOnDemand="true" >
                <Template>
                    <px:PXRichTextEdit ID="edMyField" runat="server" DataField="UsrMyField">
                        <AutoSize Enabled="True" MinHeight="216" />
                    </px:PXRichTextEdit>
                </Template>
            </px:PXTabItem>

底层数据库字段需要 nvarchar(max) 字段,DAC 属性 需要用 PXDBText(IsUnicode=true) 属性修饰。如果使用PXDBString,内容将不会保存。

不幸的是,自定义项目中包含的数据库模式工具不允许您添加 nvarchar(max) 字段(支持的最大长度为 4000),这还不够。您可以改用以下 T-SQL 脚本并将其添加到自定义项目中:

IF NOT EXISTS (
  SELECT * 
  FROM   sys.columns 
  WHERE  object_id = OBJECT_ID(N'[dbo].[Contact]') 
         AND name = 'UsrMyField'
)
BEGIN
    ALTER TABLE [dbo].[Contact] ADD [UsrMyField] nvarchar(max)
END