I am using an UltraComboEditor
The UltraComboEditor is linked to a List<> where the DisplayMember is set to "Description" and the ValueMember is Set to "ID"
the ID is an integer and is stored in the relevant field on the table.
the UltraComboEditor is Styled as a DropDown, Autocompletemode = Suggest, AutosuggestFilterMode = Contains, Limit to List = true.
my problem is that when my form is initialised to edit a new record, where the value for the combo box has not yet been set the text of the combobox has defaulted to "0"
This is a pain as and "0" is not in the List and when the user starts to type, they have to delete the "0"
As a work around I set the UltraComboEditor.Text = "" where UltraComboEditor.Text = "0" in the Value_Changed Event, (though this will not work if an entry in the list begins with "0"!)
How can I get the UltraComboEditor to initialise to "" (string.empty) instead of "0"?
Hello,
I will be happy to assist you with this issue.
I followed the steps you suggested and was unable to reproduce the behavior you're describing.
I have attached the sample project I used to test this. Please test this project on your PC; whether or not it works correctly may help indicate the nature of this problem.
If the project does not work correctly, this indicates either a problem possibly specific to your environment, or a difference in the DLL versions we are using. My test was performed using version 11.2.20112.2019 in NetAdvantage for .NET 2011 Volume 2.
If the project does show the product feature working correctly, this indicates a possible problem in the code of your application. It will help if you can provide a small, isolated sample application that demonstrates the behavior you are seeing.
Or, if this sample project is not an accurate demonstration of what you're trying to do, please feel free to modify it and send it back, or send a small sample project of your own if you have one.
Please let me know if I can provide any further assistance.
Please let me know if I may be of any further assistance regarding the sample I created to help reproduce this issue. I will follow up with you again in other three days if I don't receive a response.
Hello Jose
I have modified your example to replicate my issue
I have added a bindingsource and a TestObject with one property on it Testing1ID (int), linked the combobox to the bindingsource
I create a new instance of the TestObject and set this as the Datasource
as you can see the combobox now initialises to 0
I know that the default value for Testing1ID is 0, but we dont want Testing1ID to be a nullable int, and 0 is not in the combobox list, so it shouldn't be there!
This is happening in a lot of places where the ID of the look up is defaulting to 0 where it hasnt been set on a new entity, (I'm using LinqtoSQL entities), its a bit clumsy setting the combobox.text to "" where the combobox.value == 0 on all my forms.
am I missing a check box value somewhere or is there a better work around?
Hi,
I'm not sure what behavior you are expecting here. If you bind the Value property of the control to an object which returns a 0, the combo has no choice but to display that 0 whether it exists on the list or not. What's the alternative?
You should initialize the value of the initial object you are binding to to a value that exists on the list. Or you could add a 0 item to the list and show an empty string as it's text.
But the combo cannot arbitrarily choose an item from the list. And it cannot arbitrarily translate a 0 into a null because if it tried to save a null to your data source, this would raise an exception.
sorry but this answer is just ridiculous. No other third party controls or even .net behave this way. If an item is not on the list then the display should just always be an empty string. That's how DevExpress & Janus controls and everyone out there do it. It makes NO sense to make developers write spaghetti code on EVERY form because you cannot conform to standards...
I don't want to give my users the ability to remove items from the valueItemsList.
I want to give them the possibility to type a value and the dorpdownList shows them all the possibilities to select. This works fine but then, I want to give them the possibility to edit the typed value.
For example, my user typed the value 300 but then he want to type "30". I want to know how to set the dropdownlist to the new values..
Most of my combo editors are linked to a lookup table in my database, so adding and removing entries from the selection are done by editing the lookup lists.
You can add entries to the list bycreating a new ValueListItem and adding it to the Items collection.
you can remove items from the list by using Items.Remove and Items.RemoveAt methods.
Im not sure why you would want to give a user the ability to remove an item from the list at selection time as surely its the value you are selecting that is important, not what you dont want in the list.
But you could probably catch the Delete key press event and then remove the selected item?
I read in this posts that you have a ultracomboEditor that allows your user to insert and delete a value.
I need to know how to let my users delete a value on my ultracomboEditor.
Can you please teel me how do you did that?
Thankyou!!!!
that is standard expected behavior. DevExpress has a field call NullValueText and you can set there what you want to display...which is usually an empty string or a message to user like...Please make a selection.
They allow you to set the type of the "null value" and expected null value ...so for example in this case it would be an integer since a new manager defaults integers to 0...this is nice for custom scenarios but usually just setting the NullValueText to empty gets most all cases.
I have started on a short term solution to the 0 problem
I have added an inherited UltraComboEditor to the project (udUltraComboBox)
I have hooked up the InitialiseDataItem event to reset the text. I selected this event as it is the only one (I found) that fires after the initial value is set, but not called constantly during the controls lifetime.
There probably is a better event/way to do this, isnt there.... ?