修改方法
Modified Method
我需要写一个修改方法。
有字段:LineViewHeader_AccountType;细绳;可能的值:内部、客户、租户
根据选择的是哪个值,需要列出字段中的值:LineViewHeader_AccountNum
目前它列出了 AccountNum 中的所有值,无论在 AccountType 中选择了什么。
[Control("ComboBox")]
class LineViewHeader_AccountType
{
/// <summary>
///
/// </summary>
/// <returns></returns>
public boolean modified()
{
boolean ret;
ret = super();
return ret;
}
}
[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;
sysTableLookup = SysTableLookup::newParameters(tableNum(PMCContract), sender);
queryBuildDataSource = query.addDataSource(tableNum(PMCContract));
sysTableLookup.addLookupField(fieldNum(PMCContract, AccountType), true);
sysTableLookup.addLookupMethod(tableMethodStr(PMCContract, AccountNum));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
您需要将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();
}
我需要写一个修改方法。
有字段:LineViewHeader_AccountType;细绳;可能的值:内部、客户、租户
根据选择的是哪个值,需要列出字段中的值:LineViewHeader_AccountNum
目前它列出了 AccountNum 中的所有值,无论在 AccountType 中选择了什么。
[Control("ComboBox")]
class LineViewHeader_AccountType
{
/// <summary>
///
/// </summary>
/// <returns></returns>
public boolean modified()
{
boolean ret;
ret = super();
return ret;
}
}
[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;
sysTableLookup = SysTableLookup::newParameters(tableNum(PMCContract), sender);
queryBuildDataSource = query.addDataSource(tableNum(PMCContract));
sysTableLookup.addLookupField(fieldNum(PMCContract, AccountType), true);
sysTableLookup.addLookupMethod(tableMethodStr(PMCContract, AccountNum));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
您需要将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();
}