下面是一个使用AX2012动态对话框查找带有两列的代码示例:
static void FindDialogWithTwoColumns(Args _args)
{
Dialog dialog;
DialogField dialogField;
DialogField dialogField2;
DialogGroup dialogGroup;
DialogFieldValue fieldValue;
DialogButton okButton;
DialogButton cancelButton;
str value1;
str value2;
dialog = new Dialog("Find Dialog with Two Columns");
dialogField = dialog.addField(typeId(NoYesId), 'Include Inactive');
dialogField.label("Include Inactive:");
dialogField.value(fieldValue.noYes(NoYes::No));
dialogGroup = dialog.addGroup("Search Criteria");
dialogField2 = dialogGroup.addField(typeId(str), 'Search Text');
dialogField2.label("Search Text:");
dialogField2.value('');
okButton = dialog.addButton(DialogButton::Ok);
cancelButton = dialog.addButton(DialogButton::Cancel);
dialog.run();
if (dialog.closedOk())
{
value1 = dialogField.value();
value2 = dialogField2.value();
// Perform the search logic here with the values from the dialog fields
// ...
info(strFmt("Include Inactive: %1\nSearch Text: %2", value1, value2));
}
}
在上面的示例中,我们创建了一个名为“Find Dialog with Two Columns”的对话框。对话框包含两个字段:“Include Inactive”和“Search Text”。第一个字段是一个YesNo类型的复选框,第二个字段是一个字符串类型的文本框。
我们还创建了一个名为“Search Criteria”的对话框组,用于将两个字段放在同一组中。
然后,我们添加了“Ok”和“Cancel”按钮,并运行对话框。
如果用户点击“Ok”按钮关闭对话框,我们可以使用dialog.closedOk()
方法检查对话框是否正常关闭。然后,我们可以使用dialogField.value()
方法获取字段的值,并在此处执行搜索逻辑。
在示例中,我们只是在信息框中显示了字段的值,但你可以根据自己的需求将其替换为实际的搜索逻辑。