Issue with "BindingList" as DataSource for Gridview

.NET obfuscator and automated error reporting

Moderators: Luke Jefferson, melvyn.harbour, dom.smith

Issue with "BindingList" as DataSource for Gridview

Postby woody » Tue May 15, 2012 10:41 pm

Hello,

I am using Smart Assembly 6.6.4.95 with DevExpress. I have run into occasional problems with "Pruning" and thought maybe I should start posting them. I often use BindingList<T> as the DataSource for a DevExpress GridView to provide users with a quick view to data objects, using the following code:

BindingList<MyDataObject> gridBatchDataList = new BindingList<MyDataObject>();
gridControl1.DataSource = gridBatchDataList;

With "Pruning" enabled all the data is lost, and the gridview displays only one column with the object name repeated on each row. If this is not enough detail and you need a sample project, please let me know where to send it.

Best regards,
Woody
woody
 
Posts: 2
Joined: Tue May 15, 2012 7:27 pm

Postby Brian Donahue » Wed May 16, 2012 1:36 pm

I don't think it's practical to plumb in exclusions for every case where pruning will break a program, and we cannot know when code will be invoked outside of the normal .NET rules, like Microsoft's WPF and DevExpress components do. So this is not a "bug" that can be fixed really...

What I usually do is debug, try to find the name of the type that can't be accessed, and exclude that manually from pruning. I appreciate that this may be really difficult to do, but unfortunately it will be impossible to make SA produce assemblies that "just work" if vendors are invoking private members across DLLs and other such things they're not supposed to do.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am

Postby woody » Thu May 17, 2012 12:56 am

Hi Brian,

Sorry, I should have mentioned that this is an issue with the standard Visual Studio 2010 dataGridView as well:

BindingList<MyDataObject> gridBatchDataList = new BindingList<MyDataObject>();
dataGridView.DataSource = gridBatchDataList;

Not doing anything special here.

Best regards,
Woody
woody
 
Posts: 2
Joined: Tue May 15, 2012 7:27 pm

Postby Brian Donahue » Thu May 17, 2012 9:45 am

Hi Woody,

I can't reproduce your issue with the datagrid. I suspect it almost has to be a serialization problem, as this is what SmartAssembly most commonly breaks. You may want to apply the Serializable attribute to your MyDataObject class to make sure it doesn't get pruned.
Brian Donahue
 
Posts: 6670
Joined: Mon Aug 23, 2004 10:48 am


Return to SmartAssembly 6

Who is online

Users browsing this forum: No registered users and 0 guests