axapta - 修改方法
问题描述
我需要写一个修改方法。
有字段:LineViewHeader_AccountType;细绳; 可能的值:内部、客户、租户
根据选择的值,需要在字段中列出值:LineViewHeader_AccountNum
目前它列出了 AccountNum 中的所有值,无论在 AccountType 中选择了什么。
[Control("ComboBox")]
class LineViewHeader_AccountType
{
/// <summary>
///
/// </summary>
/// <returns></returns>
public boolean modified()
{
boolean ret;
ret = super();
return ret;
}
}
解决方案
您需要将 LineViewHeader_AccountType 控件值设置为范围:
[FormControlEventHandler(formControlStr(PMCContractDetails,
LineViewHeader_AccountNum), FormControlEventType::Lookup)]
public static void LineViewHeader_AccountNum_OnLookup(FormControl sender,
FormControlEventArgs e)
{
Query query = new Query();
QueryBuildDataSource queryBuildDataSource;
SysTableLookup sysTableLookup;
FormRun formRun;
FormControl formCtrl;
formRun = sender.formRun();
formCtrl = formRun.design().controlName(formControlStr(PMCContractDetails, LineViewHeader_AccountType));
sysTableLookup = SysTableLookup::newParameters(tableNum(PMCContract), sender);
queryBuildDataSource = query.addDataSource(tableNum(PMCContract));
queryBuildDataSource.addRange(fieldNum(PMCContract, AccountType)).value(queryValue(formCtrl.valueStr()));
sysTableLookup.addLookupField(fieldNum(PMCContract, AccountType), true);
sysTableLookup.addLookupMethod(tableMethodStr(PMCContract, AccountNum));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
推荐阅读
- ios - 如何在 Core Data 中为一对多托管对象使用谓词
- oauth - 什么是正确的授权码 OAuth2 流程?
- flutter - 在 Flutter 中使用 Provider 包的问题
- excel-formula - 通过在 Google 表格/Excel 中查找返回多个逗号分隔值
- bash - 检查计算状态的脚本
- android - Firebase Firestore 生成两个 ID 代替一个
- snowflake-cloud-data-platform - 将数据从 Snowflake 引入 Azure 数据目录
- java - 在两个单独的项目之间创建文件的问题
- google-app-engine - 我无法将调度配置文件部署到 App Engine
- sql - 将 MS Access IIF 转换为 SQL Server CASE 语句