I downloaded the VirtualRadGridView example from here and am setting the VirtualDataSource to a DynamicList class I created that provides records via Load-On-Demand. The DynamicList is a generic list. The VirtualRadGridView is auto generating columns based on properties from the generic type of the DynamicList, even if I set AutoGenerateColumns = false. In the constructor for the RadForm, I'm creating the VirtualRadGridView, clearing the columns, and adding one column. But when the RadForm displays the Grid, it shows the auto-generated columns without the column I added. I found that when the VirtualRadGridView is Initialized, the method InitializeColumns() is called which enumerates all the ItemsSource.BoundProperties and replaces columns starting at index 0. I'm assuming I should insert an if statement to check if AutoGenerateColumns = false and return if so in the InitializeColumns(), but am unsure and wondering if there was a reason the method was designed the way it is or if this was just a simple overlook.