Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add checkBox in Dialog and get value?

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!

like image 900
ulisses Avatar asked Jun 04 '15 08:06

ulisses


2 Answers

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));
}
like image 67
Jan B. Kjeldsen Avatar answered Oct 09 '22 14:10

Jan B. Kjeldsen


You can use enumStr() if extended data type does not exists for enum, e.g:

dialogField = dialog.addFieldValue(enumStr(NoYes), checkValue);
like image 24
Aliaksandr Maksimau Avatar answered Oct 09 '22 14:10

Aliaksandr Maksimau