We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

GridGroupingControl Exception

Hi, I use a gridGroupingControl with an ArrayList of ''CoolCompte'' as data source. I use two GridColumnDescriptor. The first one use "Numero" as MappingName. The second use "Libelle" as MappingName. I use two classes : ''CoolCompte'' and ''CoolCompteTiers''. The ''CoolCompte'' class have 2 string properties : "Numero" & "Libelle". The ''CoolCompteTiers'' inherit from ''CoolCompte'' and have a ''Collectif'' property. When i bind the grid with an array list of ''CoolCompte'', it works fine. When i rebind the grid with an array list of ''CoolCompteTiers'', it works fine. When i rebind the grid whith an array list of ''CoolCompte'', this exception occurs and my application freeze. System.Reflection.TargetInvocationException: L''accesseur de propriété ''Collectif'' sur l''objet ''SageCoala.Cool.Compta.CoolCompte'' a levé l''exception suivante :''L''objet ne correspond pas au type cible.'' ---> System.Reflection.TargetException: L''objet ne correspond pas au type cible. at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess) at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean verifyAccess) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component) --- Fin de la trace de la pile d''exception interne --- at System.ComponentModel.ReflectPropertyDescriptor.GetValue(Object component) at Syncfusion.Grouping.FieldDescriptor._GetValue(Record record) catched at Syncfusion.Grouping.FieldDescriptor._GetValue(Record record) in :line 0 Why do the grid try to access to the ''Collectif'' property whereas there''s no GridColumnDescriptor with Collectif MappingName. Is there a work arround ? Regards, Mikaël

7 Replies

AD Administrator Syncfusion Team June 17, 2005 10:44 AM

Try calling TableDescriptor.Columns.LoadDefault after setting up the columns and DataSource. Here is a little sample. http://www.syncfusion.com/Support/user/uploads/GGC_ArrayList_d5553255.zip


MM Mikaël Morvan June 17, 2005 11:27 AM

The TableDescriptor.Columns.LoadDefault method modify the way the columns were ordered and do not fix the problem. Is there any other solution ?


AD Administrator Syncfusion Team June 17, 2005 12:29 PM

Does the sample throw teh exception for you? If so, what version are you using? I used 3.2.1.0. You can control the order in which the columns are displayed by populating grid.TableDescriptor.VisibleColumns in teh order you want to see teh columns after the call to LoadDefault.


MM Mikaël Morvan June 20, 2005 05:39 AM

I used 3.2.1.0. I attached a sample to show the problem ( This sample). Click Button 1 : It''s Ok Click Button 2 : It''s Ok Click Button 1 again : The exception occurs


AD Administrator Syncfusion Team June 20, 2005 07:39 AM

I can avoid the problem by adding these lines at the very top of your BindData routine.
if(this.ggc_grid.DataSource != null)
{
	this.ggc_grid.BeginUpdate();
	this.ggc_grid.DataSource = null;
	this.ggc_grid.Refresh();
	this.ggc_grid.EndUpdate(false);
}
I will send your sample onto the grid architect to see why the code does not work without nulling the datasource.


MM Mikaël Morvan June 20, 2005 08:16 AM

Thanks, it works fine.


AD Administrator Syncfusion Team February 22, 2006 12:47 PM

Let me elaborate a little further: If I call this.gridGroupingControl1.ResetTableDescriptor(); this.gridGroupingControl1.TableDescriptor.Relations.Reset(); I obviously loose all descriptors, create at design time and do not want to recreate them manually everytime the datasource changes Thank you

Loader.
Live Chat Icon For mobile
Up arrow icon