I'm not sure I fully understand your case. In Silverlight there isn't DataSet class, am I missing something? If your data is in database, how do you access it? Let me explain my understanding:
will use one DataProvider (lets call it PivotDataProvider
). It will not be changed directly from the user.
will use another DataProvider (called FieldListDataProvider
). The user will change the settings of this provider.
So when FieldListDataProvider is changed (user adds or removes group/aggregate descriptions), you want to take from database only the data for the selected descriptions. But how to take only this data depends on the way you access the DB.
In order to cover the above scenario you can use the following setup. Let's say your data is of type Order (it has Product, Promotion, Net, Quantity members). In order to see these properties in RadPivotFieldList, you have to give ItemsSource to FieldListDataProvider. You can create a fake collection, just to populate RadPivotFieldList with data:
List<Order> fakeCollection =
LocalDataSourceProvider).ItemsSource = fakeCollection;
After that you have to handle SelectionChanged event of FieldListDataProvider and call a method that gets the data from DB and set it as ItemsSource of RadPivotGrid. Also you have to set all GroupDescriptions, FilterDescriptions, AggregateDescriptions that the user had set in RadPivotFieldList to PivotDataProvider:
sender, Telerik.Pivot.Core.DataProviderStatusChangedEventArgs e)
var dataProvider = sender
&& e.NewStatus == DataProviderStatus.Ready && !dataProvider.HasPendingChanges)
Dispatcher.BeginInvoke( () =>
Hopefully this helps.
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>