Display Method 在AX/D365 的正確使用方法:
1. 需要放在Table(view) class 內.
2. 不能太過複雜,因為每次redraw都會用到
3. Display Method 在View 內時就需要static method
4. 因為static 不能用 this , 所以在input method 時加入本身的table / view
5. 因為是 static method, 所以在form 時, 是要把整個class::methods 都加進去.
====================================================================
[ExtensionOf(viewstr(EcoResProductAttributeValue))]
final class EcoResProductAttributeValue_Extension
{
public static Display str GetEcoResValueString(EcoResProductAttributeValue _ecoResProductAttributeValue)
{
str result;
EcoResAttributeType _ecoResAttributeType = EcoResAttributeType::findByAttribute(_ecoResProductAttributeValue.Attribute);
switch (_ecoResAttributeType.DataType)
{
case AttributeDataType::Currency:
result = EcoResCurrencyValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
case AttributeDataType::DateTime:
result = EcoResDateTimeValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
case AttributeDataType::Decimal:
result = EcoResFloatValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
case AttributeDataType::Integer:
result = EcoResIntValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
case AttributeDataType::Text:
result = EcoResTextValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
case AttributeDataType::TrueFalse:
result = EcoResBooleanValue::find(_ecoResProductAttributeValue.Value).getStringValue();
break;
default:
result = '';
break;
}
return result;
}
}
留言列表