We help IT Professionals succeed at work.

Hoist the colors! We’ve added location flags to usernames sitewide, so it's easier to connect with the global community on EE. View My Profile

x

Adobe Flex - Combobox - Disable Editing

listings_
listings_ asked
on
1,751 Views
Last Modified: 2014-12-07
Hey,

I have a combo box and I am trying to disable from user typing.. Users can type to select an item but I do not want the combo box item to be modified.. this is what happening now.. :-)

<s:ComboBox id="combocity" width="17%" height="85%"
                                    change="combocity_changeHandler(event)"
                                    dataProvider="{cityListForcombo}" labelField="cityName"
                                    prompt="Select the one"
                                     />
Comment
Watch Question

zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
Try adding
editable="false"

Open in new window

Author

Commented:
Thanks zzynx.

But editable is not part of the

<s:ComboBox id="newName" editable="false" width="13%" change="newName_changeHandler(event)" dataProvider="{employeeList}" labelField="empName" prompt="Select the one" textAlign="center" height="85%"/>

It is part of the MX dropdownlist...
zzynxSr. Software engineer
CERTIFIED EXPERT
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Pravin AsarPrincipal Systems Engineer
CERTIFIED EXPERT
Top Expert 2005

Commented:
No Points

Here is a simple answer as recommended by zzynx

https://forums.adobe.com/thread/613475?tstart=0

Author

Commented:
Thanks Pravin and Zzynx. I read this article. You see, entire application is created using combobox and now, I need to disable editing - Comboboxes are every where. Do I have to change all the controls to DropDownList? No other way.. ?

Regards,
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
>> Do I have to change all the controls to DropDownList?
The ones that need to be uneditable

>> No other way.. ?
Sorry.
Pravin AsarPrincipal Systems Engineer
CERTIFIED EXPERT
Top Expert 2005

Commented:
If you insist, you can do this with some custom class .

Here is excerpts from Adobe forums:

 The ComboBox control is a child class of the DropDownListBase control. Like the DropDownListBase control, when the user selects an item from the drop-down list in the ComboBox control, the data item appears in the prompt area of the control.

One difference between the controls is that the prompt area of the ComboBox control is implemented by using the TextInput control, instead of the Label control for the DropDownList control. Therefore, a user can edit the prompt area of the control to enter a value that is not one of the predefined options.

For example, the DropDownList control only lets the user select from a list of predefined items in the control. The ComboBox control lets the user either select a predefined item, or enter a new item into the prompt area. Your application can recognize that a new item has been entered and, optionally, add it to the list of items in the control.

The ComboBox control also searches the item list as the user enters characters into the prompt area. As the user enters characters, the drop-down area of the control opens. It then and scrolls to and highlights the closest match in the item list.

So if you debug your control, you will find a textInput control  which permits you to enter/edit the text. You have to make that as non-ediable

Author

Commented:
Thank you very much both.

I started to convert one of the form and I am having one problem.

Selecting the item for the dropdownlist...  It is NOT setting the DropDownList... Do you know why?
var selectedRow:Object = event.currentTarget.selectedItem; // This is gridview...
delsName.selectedItem=selectedRow.empName;



Here is the declaration:
<s:DropDownList id="delsName" width="18%" height="85%"
change="modifyName_changeHandler(event)"
dataProvider="{empListForcombo}" labelField="empName"
prompt="Select the one"/>

empListForcombo is:

[Bindable] private var empListForcombo:ArrayCollection;

private function getEmpComboList():void
{                                    
        var dao:EmployeeDAO=new EmployeeDAO;
      empListForcombo=dao.getItems();      
}

public function getItems():ArrayCollection
{
      return getList("SELECT EMPLOYEE.*, CITY.Name as CITY " +
               "FROM EMPLOYEE LEFT JOIN CITY ON CITY.CITY_ID = EMPLOYEE.CITY_ID");
}
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
>> Selecting the item for the dropdownlist...  It is NOT setting the DropDownList...
What do you mean? Can you elaborate on that?
Principal Systems Engineer
CERTIFIED EXPERT
Top Expert 2005
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
Pravin Asar, did the trick. Thank you so much.

Cheers.

Author

Commented:
Pravin Asar,

I accepted this as a solution, then I realized your comment about user can not type... so, I am actually using the dropdownlist... Your solution is still a great one.

The problem is that you see, I have a datagrid and when I double click on it, I am display a form with it's data. I can not seem to select the data on the dropdownlist.

This is what I use to select an entry.
ModclientCombo.selectedItem = selectedRow.clientName;
It's is not selecting the client name

Author

Commented:
Pravin Azar, I figured it out. Thanks again.
Pravin AsarPrincipal Systems Engineer
CERTIFIED EXPERT
Top Expert 2005

Commented:
Glad to know, you figured the last hurdle.
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
Thanx 4 axxepting

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.