Editable Dropdown

Hi,

Can any one know, how to make editable dropdown in grid ax 2012.

My requirement is if i click check box (check in) then related dropdown can be editable and if i check out that check box then particular dropdown should not be editable.

Regards,

Zahir

Hi Zahir,

Its simple, Go to related DropDown properties -->: enable : no

properties : auto declration : yes

Go to checkBox → methods–> override methods–>clicked method

Write this code in clicked method

public void clicked()

{

super();

DropDown Name.enabled(true);

}

I hope it helps you, all the best :slight_smile:

Thanks

Ravindar Reddy.D

Hi Reddy,

That method is not working…!!!

Hi Zahir,

I tried before post, its working might be i understand task in wrong way if you got time pls can your more clear the task with your required fields i will try to send exact answer for that. …

I did task this way:

In form design i taken group Filtter with custAccount and salesstatus to filter the account number and sales status

I placed check box

In checkbox → override methods

I written the code which i send you.

Its working.

//Is your task is just like above or different.

Thanks

Ravindar

Do auto declarartion yes for the controls

Override modified() method of ur check box

Now

Put if condition

IF(Checkboxname==Noyes::yes)

{

Related dropdownNAme.enabled(true);

}

Else

{

Related dropdownNAme.enabled(false);

}

Hi,

I have a form. In that I have one check box column and one dropdown column.

In that dropdown column, I have included Custaccount , so it displays all the customer account.

If I check in a check box,then particular dropdown field alone should be enable to choose any Custaccount option(I mean Dropdown to select any of the Custaccounts listed).

Then if i check out ,then particular dropdown field alone should be un editable.

Hi Zahir ,

// Try This in checkbox clicked method

public void clicked()

{

super();

if(EditCheckBox.value() == NoYes::Yes)

{

DropDownName.enabled(true);

}

else

{

DropDownName.enabled(false);

}

}

Thanks

Ravindar

Hi Zahir,

public void clicked()
{
super();
if(CheckBoxName.value() == NoYes::Yes)
{
dropDownName.enabled(true);

}
else
{
dropDownName.enabled(false);
}

}

Hi reddy,

Exact Solution is below.!!! :slight_smile:

1.Method should return under Dropfield in grid
public void gotFocus()
{
element.clickElement(CustAccount); // Have to specify table name here
super();
}

2.Method should return under Form level

public void clickElement(CustAccount _custAccount)
{
if(conFind(selectedcustomer, _custAccount.RecId)) // Here selectedcustomer is a container which sould be declared under form class declaration
{
CustAccount_ds.object(fieldName2id(tableName2id(“CustAccount”),(“CustomerAccount”))).allowEdit(true); // Here CustomerAccount is Field name in CustAccount table
}
else
{
CustAccount_ds.object(fieldName2id(tableName2id(“CustAccount”),(“CustomerAccount”))).allowedit(false);
}
}

3.Method should return under form datasource level

public edit NoYes matchRecord(boolean _set, CustAccount _custAccount, NoYes _inclue)
{
NoYes selected;
Counter locationToDelete;

if(conFind(selectedCustomer, _custAccount.RecId))
{
selected = NoYes::Yes;
}

if(_set)
{
if(_inclue)
{

if(selected != NoYes::Yes)
{
selectedCustomer += _custAccount.RecId;
}
selected = NoYes::Yes;

CustAccount_ds.object(fieldName2id(tableName2id(“CustAccount”),“CustomerAccount”)).allowEdit(true);
}
else
{
locationToDelete = conFind(selectedCustomer, _custAccount.RecId);
selectedCustomer = conDel(selectedCustomer , locationToDelete, 1);
selected = NoYes::No;
CustAccount_ds.object(fieldName2id(tableName2id(“CustAccount”),“CustomerAccount”)).allowEdit(false);
}
}

return selected;
}

Regards,

Zahir