Axapta 修改表值
我想创建一个条件,在修改/更新表数据之前检查同一数据源中的其他表字段 例如,我有一个表student,该表中的字段是“status”、“name”和“score”。状态为枚举类型,默认为“不允许”。用户可以使用数据网格表单更改状态字段Axapta 修改表值,axapta,x++,Axapta,X++,我想创建一个条件,在修改/更新表数据之前检查同一数据源中的其他表字段 例如,我有一个表student,该表中的字段是“status”、“name”和“score”。状态为枚举类型,默认为“不允许”。用户可以使用数据网格表单更改状态字段 我想创建一个条件,如果分数>50,状态可以更改为“允许”,否则不能更改。谢谢使用验证怎么样 使用表或数据源上的validateField或validateWrite,可以测试所选值是否有效 也可以使用数据源或控件上的验证方法 在AOT的表或表单节点中搜索数千个示例
我想创建一个条件,如果分数>50,状态可以更改为“允许”,否则不能更改。谢谢使用验证怎么样 使用表或数据源上的validateField或validateWrite,可以测试所选值是否有效 也可以使用数据源或控件上的验证方法 在AOT的表或表单节点中搜索数千个示例
适用于大多数“检查输入字段的值”。正如Jan所写,解决此问题的一种方法是覆盖student表的
validateField
方法。每次用户以表的形式更改表的字段时,都会调用此方法。在该方法中,您可以编写一些代码来处理对状态
字段的更改,例如
public boolean validateField(FieldId _fieldId)
{
boolean ret;
ret = super();
switch (_fieldId)
{
case fieldNum(MyStudentTable, Status):
if (this.Status == MyStatus::Allow
&& this.Score <= 50)
{
ret = checkFailed("Score must be greater than 50 to Change the Status."); // TODO create a label
}
break;
}
return ret;
}
public boolean validateField(FieldId\u FieldId)
{
布尔ret;
ret=super();
开关(_fieldId)
{
案例字段号(MyStudentTable,状态):
如果(this.Status==MyStatus::Allow
&&这个,得分