This is a migrated thread and some comments may be shown as answers.

How to display values of aggregate function in excell after export

6 Answers 177 Views
GridView
This is a migrated thread and some comments may be shown as answers.
hirak
Top achievements
Rank 1
hirak asked on 25 Apr 2011, 12:15 PM
Hi,

I am exporting RadGridView data to excell.

I wanted to know, how to export data of aggregate function in excell sheet.

My XAML page is:

<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">


Please, let me know any quick solution to this.

Regards,
Hirak

6 Answers, 1 is accepted

Sort by
0
Vanya Pavlova
Telerik team
answered on 25 Apr 2011, 12:24 PM
Hello Hirak,

 

Have you checked this demo?


All the best,
Vanya Pavlova
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
hirak
Top achievements
Rank 1
answered on 25 Apr 2011, 01:41 PM
Hi,

I had all ready seen that demo.

The issue is in my case, the column value is showing as null so it never goes to aggregate function call.

GridViewDataColumn column = e.Context as GridViewDataColumn;
                QueryableCollectionViewGroup qcvGroup = e.Value as QueryableCollectionViewGroup;

                if (column != null && qcvGroup != null && column.AggregateFunctions.Count() > 0)
                {
                    e.Value = GetAggregates(qcvGroup, column);
                }

Do you have any solution to my issue, which I have send.

Once again, I am resending my XAML page as below:

 <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>


Let me know, if you can quickly help me to resolve this issue.

Regards,
Hirak
0
Vanya Pavlova
Telerik team
answered on 25 Apr 2011, 01:49 PM
Hello Hirak,

 
How the grid is bound in your case?
Please open a new support ticket and attach your sample application which we can use for further testing.
Thus we would be able to provide you with an appropriate solution. 


Greetings,
Vanya Pavlova
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
hirak
Top achievements
Rank 1
answered on 25 Apr 2011, 02:10 PM
Hi,

Please check my XAML code mentioned below:

<Grid x:Name="GridNonMarketable" >
        <telerik:RadGridView Grid.Row="0" x:Name="RadGridNonMarketableSummary" ElementExported="RadGridNonMarketableSummary_ElementExported" 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" UniqueName="TotalValue">
                    <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" Width="102" HorizontalAlignment="Right" VerticalAlignment="Top" Height="27" Click="ExporttoExcel_Click"/>
    </Grid>

Regards,
Hirak
0
Vanya Pavlova
Telerik team
answered on 25 Apr 2011, 02:49 PM
Hi Hirak,

 

Currently using the snippet provided we might be only guessing what is wrong. As I said in my previous post the best option is to open a new support ticket where we can see what happens. 


Best wishes,
Vanya Pavlova
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
hirak
Top achievements
Rank 1
answered on 26 Apr 2011, 08:03 AM
Hi,

I have all ready posted a support ticket with my sample code. But, till now I have not received any response from you.

Please, let me know if there can be any quick solution to this issue.

Thanks & Regards,
Hirak
Tags
GridView
Asked by
hirak
Top achievements
Rank 1
Answers by
Vanya Pavlova
Telerik team
hirak
Top achievements
Rank 1
Share this question
or