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