ulisses
ulisses

Reputation: 1581

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!

Upvotes: 8

Views: 20971

Answers (3)

Aliaksandr Maksimau
Aliaksandr Maksimau

Reputation: 2281

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

dialogField = dialog.addFieldValue(enumStr(NoYes), checkValue);

Upvotes: 4

Walid
Walid

Reputation: 19

identifierStr instead of extendedTypeStr worked for me (Ax 2012)

Upvotes: 0

Jan B. Kjeldsen
Jan B. Kjeldsen

Reputation: 18051

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));
}

Upvotes: 12

Related Questions