Issue with "BindingList" as DataSource for Gridview
woody
Posts: 3
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
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
Comments
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.
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
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.