覆盖 displayOption 以根据 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 强制转换到您的表缓冲区,然后您就可以访问该表方法。

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

SalesTable      salesTable;

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...