or
private void ExporttoExcel_Click(object sender, RoutedEventArgs e) { //RadGridNonMarketableSummary.Export( Telerik.Windows.Controls.ExportFormat format = Telerik.Windows.Controls.ExportFormat.Html; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("nb-NO"); SaveFileDialog dialog = new SaveFileDialog() { DefaultExt = "xls", Filter = String.Format("{1} files (*.{0})|*.{0}|All files (*.*)|*.*", "xls", "Excel"), FilterIndex = 1 }; if (dialog.ShowDialog() == true) { using (Stream stream = dialog.OpenFile()) { Telerik.Windows.Controls.GridViewExportOptions exportOptions = new Telerik.Windows.Controls.GridViewExportOptions(); //RadGridNonMarketableSummary exportOptions = new RadGridNonMarketableSummary(); // RadGridView exportOptions = new GridView(); exportOptions.Format = format; exportOptions.ShowColumnFooters = true; exportOptions.ShowColumnHeaders = true; exportOptions.ShowGroupFooters = true; exportOptions.ShowColumnHeaders = true; exportOptions.Culture = cultureInfo; RadGridNonMarketableSummary.Export(stream, exportOptions); } } } private void RadGridNonMarketableSummary_ElementExporting(object sender, Telerik.Windows.Controls.GridViewElementExportingEventArgs e) { if (e.Element == Telerik.Windows.Controls.ExportElement.HeaderRow || e.Element == Telerik.Windows.Controls.ExportElement.FooterRow || e.Element == Telerik.Windows.Controls.ExportElement.GroupFooterRow) { //e.Background = HeaderBackgroundPicker.SelectedColor; // e.Foreground = HeaderForegroundPicker.SelectedColor; e.Background = Colors.LightGray; e.Foreground = Colors.Blue; e.FontSize = 20; e.FontWeight = FontWeights.Bold; } else if (e.Element == Telerik.Windows.Controls.ExportElement.Row) { //e.Background = RowBackgroundPicker.SelectedColor; //e.Foreground = RowForegroundPicker.SelectedColor; e.Background = Colors.LightGray; e.Foreground = Colors.Blue; } else if (e.Element == Telerik.Windows.Controls.ExportElement.Cell && e.Value != null && e.Value.Equals("Chocolade")) { e.FontFamily = new FontFamily("Verdana"); e.Background = Colors.LightGray; e.Foreground = Colors.Blue; } else if (e.Element == Telerik.Windows.Controls.ExportElement.GroupHeaderRow) { e.FontFamily = new FontFamily("Verdana"); e.Background = Colors.LightGray; e.Height = 30; } else if (e.Element == Telerik.Windows.Controls.ExportElement.GroupHeaderCell && e.Value != null && e.Value.Equals("Chocolade")) { e.Value = "MyNewValue"; } else if (e.Element == Telerik.Windows.Controls.ExportElement.GroupFooterCell) { Telerik.Windows.Controls.GridViewDataColumn column = e.Context as Telerik.Windows.Controls.GridViewDataColumn; Telerik.Windows.Data.QueryableCollectionViewGroup qcvGroup = e.Value as Telerik.Windows.Data.QueryableCollectionViewGroup; if (column != null && qcvGroup != null && column.AggregateFunctions.Count() > 0) { e.Value = GetAggregates(qcvGroup, column); } } } private string GetAggregates(Telerik.Windows.Data.QueryableCollectionViewGroup group, Telerik.Windows.Controls.GridViewDataColumn column) { List<string> aggregates = new List<string>(); foreach (Telerik.Windows.Data.AggregateFunction f in column.AggregateFunctions) { foreach (Telerik.Windows.Data.AggregateResult r in group.AggregateResults) { if (f.FunctionName == r.FunctionName && r.FormattedValue != null) { aggregates.Add(r.FormattedValue.ToString()); } } } return String.Join(",", aggregates.ToArray()); }in XAML page I am using the following code:<UserControl x:Class="SSG_TradeExpress.View.Trade.TradeNonMarketable" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:telerikControls="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" xmlns:Converters="clr-namespace:SSG_TradeExpress.View.Converters" > <UserControl.Resources> <Converters:RangeToColorConverter x:Key="RangeConverter"></Converters:RangeToColorConverter> </UserControl.Resources> <Grid x:Name="GridNonMarketable" > <telerik:RadGridView Grid.Row="0" x:Name="RadGridNonMarketableSummary" ElementExporting="RadGridNonMarketableSummary_ElementExporting" RowLoaded="RadGridNonMarketableSummary_RowLoaded" Loaded="RadGridNonMarketableSummary_Loaded" telerikControls:StyleManager.Theme="Office_Blue" IsReadOnly="True" ItemsSource="{Binding TradeNonMarketableData.NonMarketableSummaryModel}" IsFilteringAllowed="False" CanUserFreezeColumns="False" AutoGenerateColumns="False" AutoExpandGroups="True" > <telerik:RadGridView.ChildTableDefinitions> <telerik:GridViewTableDefinition /> </telerik:RadGridView.ChildTableDefinitions> <telerik:RadGridView.RowStyle> <Style TargetType="{x:Type telerik:GridViewRow}"> <Setter Property="IsExpanded" Value="True"/> </Style> </telerik:RadGridView.RowStyle> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Investment Category Name" DataMemberBinding="{Binding InvestmentCategoryName}" IsVisible="False" /> <telerik:GridViewDataColumn Header="Asset Class Name" DataMemberBinding="{Binding AssetClassName}" IsVisible="False" /> <telerik:GridViewDataColumn Header="Sbu" DataMemberBinding="{Binding SbuName}" Width="125" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Total Value" DataMemberBinding="{Binding TotalValue, StringFormat={}{0:c}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"> <telerik:GridViewDataColumn.AggregateFunctions> <telerik:SumFunction Caption="Total :" ResultFormatString="{}{0:c}" /> </telerik:GridViewDataColumn.AggregateFunctions> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Target Min" DataMemberBinding="{Binding TargetMin, StringFormat={}{0:n2}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Target Max" DataMemberBinding="{Binding TargetMax, StringFormat={}{0:n2}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Target Total" DataMemberBinding="{Binding TargetTotal, StringFormat={}{0:n2}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Total Actual" DataMemberBinding="{Binding TotalActual, StringFormat={}{0:n2}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Variance" DataMemberBinding="{Binding Variance, StringFormat={}{0:n2}}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"> <telerik:GridViewDataColumn.CellStyle> <Style TargetType="telerik:GridViewCell"> <Setter Property="Foreground" Value="{Binding TotalRange, Converter={StaticResource RangeConverter}}" /> </Style> </telerik:GridViewDataColumn.CellStyle> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Total Range" DataMemberBinding="{Binding TotalRange}" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"> <telerik:GridViewDataColumn.CellStyle> <Style TargetType="telerik:GridViewCell"> <Setter Property="Foreground" Value="{Binding TotalRange, Converter={StaticResource RangeConverter}}" /> </Style> </telerik:GridViewDataColumn.CellStyle> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns> <telerik:RadGridView.HierarchyChildTemplate> <DataTemplate> <telerik:RadGridView x:Name="RadGridNonMarketableDetail" telerikControls:StyleManager.Theme="Windows7" CanUserFreezeColumns="False" AutoGenerateColumns="False" IsFilteringAllowed="False" ItemsSource="{Binding NonMarketableDetailModel}" ShowGroupPanel="False" IsReadOnly="True"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding FundName}" Header="Fund Name" Width="200" TextWrapping="Wrap"/> <telerik:GridViewDataColumn Header="Value / Unadjusted Value" HeaderTextAlignment="Right" TextAlignment="Right" Width="150" TextWrapping="Wrap" > <telerik:GridViewDataColumn.CellTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Value,StringFormat={}{0:c}}"></TextBlock> <TextBlock Text=" / "></TextBlock> <TextBlock Text="{Binding UnAdjustedValue,StringFormat={}{0:c}}"></TextBlock> </StackPanel> </DataTemplate> </telerik:GridViewDataColumn.CellTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn DataMemberBinding="{Binding ValueDate, StringFormat={}{0:d}}" Header="Value Date" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding TotalActual, StringFormat={}{0:n3}}" Header="Total Actual" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding FundCode}" Header="Fund Code" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding CalledToDate, StringFormat={}{0:c}}" Header="Called To Date" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding Commitment, StringFormat={}{0:c}}" Header="Commitment" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding TotalDistributions, StringFormat={}{0:c}}" Header="Total Distributions" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> <telerik:GridViewDataColumn DataMemberBinding="{Binding ToBeCalled, StringFormat={}{0:c}}" Header="To Be Called" HeaderTextAlignment="Right" TextAlignment="Right" Width="90" TextWrapping="Wrap"/> </telerik:RadGridView.Columns> </telerik:RadGridView> </DataTemplate> </telerik:RadGridView.HierarchyChildTemplate> </telerik:RadGridView> <!--<telerik:RadButton Name="ExporttoExcel" Margin="722,-33,0,0" Style="{DynamicResource NormalButtonStyle}" Content="Export to Excel" Command="{Binding ExportToExcelCommand}" Width="102" HorizontalAlignment="Right" VerticalAlignment="Top" Height="27" CommandParameter="{Binding}"/>--> <telerik:RadButton Name="ExporttoExcel" Margin="722,-33,0,0" Style="{DynamicResource NormalButtonStyle}" Content="Export to Excel" Width="102" HorizontalAlignment="Right" VerticalAlignment="Top" Height="27" Click="ExporttoExcel_Click"/> </Grid></UserControl><telerik:RadGridView Grid.Row="2" x:Name="orderView" ItemsSource="{Binding Order}" AutoGenerateColumns="False" CanUserDeleteRows="{Binding IsChecked, Mode=TwoWay, ElementName=CanUserDeleteRowsCheckBox}" IsReadOnly="{Binding IsChecked, Mode=TwoWay, ElementName=IsReadOnlyCheckBox}" SelectionMode="Extended"> <telerik:RadGridView.Columns> <telerik:GridViewToggleRowDetailsColumn /> <telerik:GridViewSelectColumn Header="Select" x:Name="chkbox" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding CustomerName}" Header="Name" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Age}" Header="Age" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Path=COActivity.ActivityDescription}" Header="Age" /> </telerik:RadGridView.Columns> </telerik:RadGridView> <Button Content=" Delete" Style="{StaticResource GreyButtonStyle}" Command="telerik:RadGridViewCommands.Delete" CommandTarget="{Binding ElementName=gvCustomerOrder}"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <cmd:EventToCommand Command="{Binding Path=DeleteCustomerOrderCommand}" PassEventArgsToCommand="True" /> </i:EventTrigger> </i:Interaction.Triggers> </Button> private RelayCommand<RoutedEventArgs> _deleteCustomerOrderCommand; public RelayCommand<RoutedEventArgs> DeleteCustomerOrderCommand { get { if (_deleteCustomerOrderCommand == null) { _deleteCustomerOrderCommand = new RelayCommand<RoutedEventArgs>(param => this.DeleteCustomerOrder(param), param => this.CanDeleteCustomerOrder()); } return _deleteCustomerOrderCommand; } } private void DeleteCustomerOrder(RoutedEventArgs e) { } private bool CanDeleteCustomerOrder() { string messageBoxText = "Are you sure you want to delete the selected Orders?"; string caption = "Confirm"; MessageBoxButton button = MessageBoxButton.YesNo; MessageBoxImage icon = MessageBoxImage.Question; MessageBoxResult result = MessageBox.Show(messageBoxText, caption, button, icon); if (result == MessageBoxResult.Yes) { return true; } else return false; }Hello,
Is there a MVVM Documentation for best practices with Infragistics WPF? - including the xamDataGrid... :)
Thanks for all answers!
How to build and create dynamic indicator in VB code instead of XML
So the indicator should be change according to my input value
Also I wanna change the range and the scale in VB code to make it more flexible.
in radical and simi gauge
Please let me know how to do that ASAP
Thanks in advance