如何使Acumatica多行PXGridColumn显示新行?

时间:2019-06-04 23:21:52

标签: acumatica

我正在自定义“项目报价”表单(屏幕PM304500)上的描述字段。我需要描述字段为多行,并且必须保留新行。

我已自定义字段本身以允许使用很长的字符串,并且已使用Multiline =“ true”自定义了相应的PXGridColumn。这样,我就可以编辑字段值,并通过shift输入可以在字符串中插入换行符。此外,grid列在不进行编辑时将在多行上显示该字符串,但是新行将被忽略,就好像该值将显示为HTML一样。我知道换行符会保留下来,因为当我再次编辑该值时,就会出现换行符。

此外,我已经能够使用Chrome中的开发者控制台来深入了解PXGridColumn的结果。样式为“空白:正常”。如果我将其更改为“空白:预包装”,则该列将显示为我想要的样子。

我还尝试过修改字段的值,以使用
标签替换换行符。不幸的是,当我这样做时,在值中看到的是文字“
”,而不是换行。

理想情况下,我只想将PXGridColumn生成的元素的样式更改为“空白:预包装”。 PXGridColumn是否有一个属性/属性可以让我做到这一点?另外,如果我可以将值呈现为HTML,则可以用
方法替换新行。当然,我愿意接受其他方法。

2 个答案:

答案 0 :(得分:2)

从Acumatica 2020 R1(或也许还有更早的版本)开始,您可以通过在Grid上将Layout-> WrapText属性设置为True来解决此问题: Acumatica WrapText

答案 1 :(得分:1)

您可以通过以下方式实现此目的:

  1. 将默认文件夹复制到Acumatica的App_Themes文件夹中: enter image description here
  2. 在复制的文件夹中打开00_Controls.css文件,并将下面的css类打开到文件末尾并保存文件

    .MyTable table:not([class~=GridRowForm]) tbody tr td{
        white-space: pre-wrap !important;
    }
    
  3. 在“屏幕编辑器”中,选择要应用空白CSS样式的网格,然后将MyTable添加为CssStyle。 enter image description here

  4. 现在转到“站点首选项”(SM200505)页面,然后选择“默认-复制为界面主题” enter image description here

完成这些步骤之后,您应该能够在“销售订单明细”中获得以下UI: enter image description here