Hello,
I got a problem I can not seem to find a solution for.
I got a UltraTree bound to a BindingSource with a datasource of an inheriated type of BindingList.
I have a few columns, two of them are of DataType System.Boolean.
After binding the binding source to the tree the following happens:
The top node in the tree will show null values for the columns that are supposed to show false or true (the objects in the binding list can only be false or true)
it works perfectly for child nodes. It also works if I bind the binding list directly with out the binding source. (I am in need for it, can not skip)
This is what I found out:
right after binding the binding source to the tree I looked into the broken cell's EditorResolved. (CheckEditor)
If I try to set the Value property (which I usally dont have to do, but I guess thats what the tree is trying to do anyway) I get this:
Message "Internal error: owner arg should never be null."
bei Infragistics.Win.EmbeddableEditorBase.GetDataFilteredDestinationValue(Object sourceVal, ConversionDirection direction, Boolean& isValidConversion, EmbeddableEditorOwnerBase owner, Object ownerContext, String& validMessage, Boolean doAutoConv, Boolean doIsValid, Boolean& convertedWithDataFilter) bei Infragistics.Win.EmbeddableEditorBase.GetDataFilteredDestinationValue(Object sourceVal, ConversionDirection direction, Boolean& isValidConversion, EmbeddableEditorOwnerBase owner, Object ownerContext, String& validMessage, Boolean doAutoConv, Boolean doIsValid) bei Infragistics.Win.EmbeddableEditorBase.GetDataFilteredDestinationValue(Object sourceVal, ConversionDirection direction, Boolean& isValidConversion, EmbeddableEditorOwnerBase owner, Object ownerContext, String& validMessage) bei Infragistics.Win.EmbeddableEditorBase.GetDataFilteredDestinationValue(Object sourceVal, ConversionDirection direction, Boolean& isValidConversion, EmbeddableEditorOwnerBase owner, Object ownerContext) bei Infragistics.Win.EmbeddableEditorBase.GetDataFilteredDestinationValue(Object sourceVal, ConversionDirection direction, EmbeddableEditorOwnerBase owner, Object ownerContext) bei Infragistics.Win.CheckEditor.set_Value(Object value)
Just great :(
Also what ever I do the cells are not acting as desired like all the other bool cells in different nodes (child nodes)
Blue
Hi Blue,
Yes, I've seen many issues like this where using an interface instead of a concrete type causes problems with the BindingManager in DotNet.
just wanted to inform everybody about our findings:
the problem is that the List was a BindingList<T> where T was an interface.
the bound bindingsource is binding against the interface and not the actual type itself, so the tree was not retrieving the properties of the class but only of the interface.
The work around solution is to unbind the additional boolean colums and manage everything manually.
you are right. It must have to do with the datasource, I created a dummy list with a dummy object to bind to with the same properties with dummy values and it worked... I just cant figure out the difference. I found out that the tree is not even accessing (get) the boolean properties of the bound object, any idea why? This must be the cause why the "value" stays null instead of false for the editor in this case.
I'm not aware of any issues like this in the tree. I suspect it must have something to do with your data source. You say you are deriving from BindingList - does that mean BindingList<T> or IBindingList?
Can you post a small sample project demonstrating the issue so we can take a look?