一、新建LookUp Form
新建Form,名叫VyaCompanyMultiSelectLookUp,Form内容如下:
二、窗体代码
代码如下:
[Form]
public class VyaCompanyMultiSelectLookUp extends FormRun
{
[DataSource]
class CompanyInfo
{
/// <summary>
///
/// </summary>
public void executeQuery()
{
CompanyInfo_ds.queryBuildDataSource().addSortField(fieldNum(CompanyInfo, DataArea),SortOrder::Ascending);
super();
}
}
[Control("CommandButton")]
class OKButton
{
/// <summary>
///
/// </summary>
public void clicked()
{
super();
// 获取表单数据源
FormDataSource fds = CompanyInfo_ds;
CompanyInfo localCompanyInfo;
container companycon;
FormStringControl formStringControl;
for (localCompanyInfo = fds.getFirst(true) ? fds.getFirst(true) : fds.cursor(); localCompanyInfo; localCompanyInfo = fds.getNext())
{
companycon += localCompanyInfo.DataArea;
}
FormControl callingControl = SysTableLookup::getCallerControl(element.args());
if (callingControl is FormStringControl)
{
formStringControl = callingControl as FormStringControl;
formStringControl.text(SysOperationHelper::convertMultiSelectedValueString(companycon));
}
element.closeOk();
}
}
}
三、新建etd String
属性中的form help一栏填写上面的Lookup窗体名称
四、Dialog添加字段
代码如下:
Dialog dialog = new Dialog();
DialogField companyDialogField;
str companyValue;
companyDialogField = dialog.addField(extendedtypestr(VyaCompanyInfoMultiSelect), '账套');#extendedtypestr填写etdString名称
if(dialog.run())
{
companyValue = companyDialogField.value();
}