覆盖 displayOption 以根据 displayMethod 的值为某些行着色

overriding displayOption to color certain lines according to a value from displayMethod

我试图覆盖我表单上的 displayOption 以便我根据特定条件为某些行着色,当我的条件与正常字段相关时我没有问题,示例代码:

public void displayOption(Common _record, FormRowDisplayOption _options)
{
 if (_record.(fieldnum(MY_Table,My_Field))=="YES")
 {
  _options.backColor(WinAPI::RGB2int(161,161,255));
 }
  super(_record, _options);
}

但我的问题是,我想在 displayMethod 而不是普通字段上设置条件

显示方法会起作用,您只需将 Common _record 转换为您的 table 缓冲区,然后您就可以访问 table 方法。

因此,如果它是 SalesTable,您将创建:

SalesTable      salesTable;

salesTable = _record as SalesTable;
if (salesTable.yourTableDisplayMethod == "whatever") { // Do something }

然后就可以正常使用显示方式了