
Elver Emilio Cano Cardona
Top achievements
Rank 1
Elver Emilio Cano Cardona
asked on 20 Apr 2011, 02:36 PM
Hi.. how are you
Is there a method or a work around to Export the heirarchial RadGridView data to Excel?
I tried the following methods:
Is there a method or a work around to Export the heirarchial RadGridView data to Excel?
I tried the following methods:
- Using Telerik.Data.RadGridViewExcelExporter
- Using RadGridReportingLite. sample code using RadLite.
(RadGridReport rep = new RadGridReport(strFileName);
rep.ReportFormShow(
this, this.radGridView1);
both of them are exporting only MasterTable Data. child Table data is not exported.
Please suggest any solution.
Thank you,
Regards
Elver Emilio
5 Answers, 1 is accepted
0

Richard Slade
Top achievements
Rank 2
answered on 20 Apr 2011, 05:01 PM
Hello,
As far as I'm aware, this is not yet supported by the RadGridView. Only the Master Template as you have suggested can be exported at this time.
Regards,
Richard
As far as I'm aware, this is not yet supported by the RadGridView. Only the Master Template as you have suggested can be exported at this time.
Regards,
Richard
0

Elver Emilio Cano Cardona
Top achievements
Rank 1
answered on 20 Apr 2011, 05:07 PM
Hi....Richard..
I was looking in the forums.. and i found this.. somebody of telerik write this.. i have a doubt.. this is true????
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Actually, I have some good news here. We have implemented exporting hierarchical data in our latest release Q1 2011 (2011.1.11.315). You just have to set the ExportHierarchy property to true:
Let me know if you have any additional questions.
All the best,
Martin Vasilev
the Telerik team
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I was looking in the forums.. and i found this.. somebody of telerik write this.. i have a doubt.. this is true????
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Actually, I have some good news here. We have implemented exporting hierarchical data in our latest release Q1 2011 (2011.1.11.315). You just have to set the ExportHierarchy property to true:
ExportToExcelML excelExporter =
new
ExportToExcelML(radGridView);
excelExporter.ExportHierarchy =
true
;
excelExporter.ExportVisualSettings =
true
;
excelExporter.RunExport(filePath);
All the best,
Martin Vasilev
the Telerik team
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0

Richard Slade
Top achievements
Rank 2
answered on 20 Apr 2011, 05:20 PM
Hello,
Please accept my apologies. I completely forgot that this had been implemented. It's correct that this is now possible. Here is a small sample for you to try.
Form1.cs
Designer File
Hope that helps but please let me know if you have any questions
Richard
Please accept my apologies. I completely forgot that this had been implemented. It's correct that this is now possible. Here is a small sample for you to try.
Form1.cs
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
using
Telerik.WinControls.UI;
using
Telerik.Data;
using
Telerik.WinControls.UI.Export;
namespace
RadGridView_Hierarchy_CS
{
public
partial
class
Form1 : Form
{
private
List<Person> people =
new
List<Person>();
private
List<Address> addresses =
new
List<Address>();
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
FillPeople();
FillAddresses();
radGridView1.DataSource = people;
GridViewTemplate template =
new
GridViewTemplate();
template.DataSource = addresses;
radGridView1.MasterTemplate.Templates.Add(template);
GridViewRelation relation =
new
GridViewRelation(radGridView1.MasterTemplate);
relation.ChildTemplate = template;
relation.RelationName =
"PersonAddress"
;
relation.ParentColumnNames.Add(
"Id"
);
relation.ChildColumnNames.Add(
"PersonId"
);
radGridView1.Relations.Add(relation);
this
.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
}
private
void
FillPeople()
{
Person richard =
new
Person();
richard.Name =
"Richard"
;
richard.Id = 1;
people.Add(richard);
Person bob =
new
Person();
bob.Name =
"Bob"
;
bob.Id = 2;
people.Add(bob);
Person mike =
new
Person();
mike.Name =
"Mike"
;
mike.Id = 3;
people.Add(mike);
}
private
void
FillAddresses()
{
Address house1 =
new
Address();
house1.PersonId = 1;
house1.Id = 1;
house1.theAddress =
"1 The Mews"
;
house1.theAddress2 =
"1 The Mews"
;
house1.theAddress3 =
"1 The Mews"
;
house1.theAddress4 =
"1 The Mews"
;
addresses.Add(house1);
Address house2 =
new
Address();
house2.PersonId = 2;
house2.Id = 2;
house2.theAddress =
"2 The Mews"
;
house2.theAddress2 =
"1 The Mews"
;
house2.theAddress3 =
"1 The Mews"
;
house2.theAddress4 =
"1 The Mews"
;
addresses.Add(house2);
Address house3 =
new
Address();
house3.PersonId = 2;
house3.Id = 3;
house3.theAddress =
"3 The Mews"
;
house3.theAddress2 =
"1 The Mews"
;
house3.theAddress3 =
"1 The Mews"
;
house3.theAddress4 =
"1 The Mews"
;
addresses.Add(house3);
}
private
void
radButton1_Click(
object
sender, EventArgs e)
{
ExportToExcelML exporter =
new
ExportToExcelML(
this
.radGridView1);
exporter.ExportHierarchy =
true
;
exporter.RunExport(@
"C:\Users\Richard\Documents\MyFile.xls"
);
//replace with your own
}
}
class
Person
{
public
int
Id {
get
;
set
;}
public
string
Name {
get
;
set
;}
public
Person()
{ }
}
class
Address
{
public
int
Id {
get
;
set
; }
public
int
PersonId {
get
;
set
;}
public
string
theAddress {
get
;
set
;}
public
string
theAddress2 {
get
;
set
; }
public
string
theAddress3 {
get
;
set
; }
public
string
theAddress4 {
get
;
set
; }
public
Address()
{ }
}
}
Designer File
namespace
RadGridView_Hierarchy_CS
{
partial
class
Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private
System.ComponentModel.IContainer components;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected
override
void
Dispose(
bool
disposing)
{
if
(disposing && (components !=
null
))
{
components.Dispose();
}
base
.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private
void
InitializeComponent()
{
this
.radGridView1 =
new
Telerik.WinControls.UI.RadGridView();
this
.radButton1 =
new
Telerik.WinControls.UI.RadButton();
((System.ComponentModel.ISupportInitialize)(
this
.radGridView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(
this
.radButton1)).BeginInit();
this
.SuspendLayout();
//
// radGridView1
//
this
.radGridView1.Location =
new
System.Drawing.Point(0, 0);
this
.radGridView1.Name =
"radGridView1"
;
this
.radGridView1.Size =
new
System.Drawing.Size(229, 342);
this
.radGridView1.TabIndex = 0;
this
.radGridView1.Text =
"radGridView1"
;
//
// radButton1
//
this
.radButton1.Location =
new
System.Drawing.Point(65, 368);
this
.radButton1.Name =
"radButton1"
;
this
.radButton1.Size =
new
System.Drawing.Size(130, 24);
this
.radButton1.TabIndex = 1;
this
.radButton1.Text =
"radButton1"
;
this
.radButton1.Click +=
new
System.EventHandler(
this
.radButton1_Click);
//
// Form1
//
this
.AutoScaleDimensions =
new
System.Drawing.SizeF(6F, 13F);
this
.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this
.ClientSize =
new
System.Drawing.Size(229, 409);
this
.Controls.Add(
this
.radButton1);
this
.Controls.Add(
this
.radGridView1);
this
.Name =
"Form1"
;
this
.Text =
"Form1"
;
this
.Load +=
new
System.EventHandler(
this
.Form1_Load);
((System.ComponentModel.ISupportInitialize)(
this
.radGridView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(
this
.radButton1)).EndInit();
this
.ResumeLayout(
false
);
}
#endregion
private
Telerik.WinControls.UI.RadGridView radGridView1;
private
Telerik.WinControls.UI.RadButton radButton1;
}
}
Hope that helps but please let me know if you have any questions
Richard
0

Elver Emilio Cano Cardona
Top achievements
Rank 1
answered on 20 Apr 2011, 05:23 PM
hi... i am so glad.. it solve a lot problems.. for my applications.. i am going to run this example..
thanks a lot...
thanks a lot...
0

Richard Slade
Top achievements
Rank 2
answered on 20 Apr 2011, 05:28 PM
You're welcome. If you find this helps please remember to mark as answer, and again, apologies for not giving you the correct information the first time.
Richard
Richard