How to add checkBox in Dialog and get value?

ulisses picture ulisses · Jun 4, 2015 · Viewed 16.1k times · Source

I want to add a CheckBox in my Dialog.

I used this code:

Dialog dialog;
DialogField dialogField;
NoYesId checkValue;
;
dialog = new Dialog("New dialog with checkBox");

dialogField = dialog.addFieldValue(identifierStr(NoYes) , checkValue);
checkValue= dialogField.value();
dialog.run();
info(strfmt("Value %1" , checkValue));

So, in Debug I see the value of the variable (checkValue) always NO .

On web-tutorial I saw this code:

dialog.addFieldValue(typeid(NoYes), NoYes::Yes, "tip");

But I have an error Method typeid not exist .

What is the way? Thanks all,

enjoy!

Answer

Jan B. Kjeldsen picture Jan B. Kjeldsen · Jun 4, 2015

You can only use typeId (AX 2009 and before) or extendedTypeStr (AX 2012) on extended data types (EDT), not enums like NoYes. It can be used on NoYesId, as it is an EDT.

dialog.addFieldValue(typeid(NoYesId), NoYes::Yes, "Check");

You must call run before you can meaningful acquire the value.

Dialog dialog = new Dialog("New dialog with checkBox");
NoYesId checkValue = NoYes::No;
DialogField dialogField = dialog.addFieldValue(extendedTypeStr(NoYesId), checkValue, "Check it");
if (dialog.run())
{
    checkValue = dialogField.value();
    info(strfmt("Value %1" , checkValue));
}