Hi there,
I am using ASP.Net Ajax 2010, relase Q2 with Vstudio 2008 SP1.
I have a hierarchical Rad Grid, that only the selected Master Table row needs to be exported (i.e. Master row and all related Detail Data).
Attached is my Grid (hierarchy.jpg). If I do not expand the Master Row and click export, it just export Master Row Data (hierarchy export.jpg) not detail table data But If I expand the Master row, and click export it does output Master Detail Data (hierarchy export After Clicking Expand.jpg).
My question is that can I export the Master/Detal related row without expanding the Master Table row? My users will not be happy to expand the row first and later click the export button to export the data. Basically I want the result set will be (hierarchy export After Clicking Expand.jpg) without expanding the Master Table row.
Below is my complete code. Thanks
Gc_0620
_____
I am using ASP.Net Ajax 2010, relase Q2 with Vstudio 2008 SP1.
I have a hierarchical Rad Grid, that only the selected Master Table row needs to be exported (i.e. Master row and all related Detail Data).
Attached is my Grid (hierarchy.jpg). If I do not expand the Master Row and click export, it just export Master Row Data (hierarchy export.jpg) not detail table data But If I expand the Master row, and click export it does output Master Detail Data (hierarchy export After Clicking Expand.jpg).
My question is that can I export the Master/Detal related row without expanding the Master Table row? My users will not be happy to expand the row first and later click the export button to export the data. Basically I want the result set will be (hierarchy export After Clicking Expand.jpg) without expanding the Master Table row.
Below is my complete code. Thanks
Gc_0620
_____
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
>
</
asp:ScriptManager
>
<
telerik:RadGrid
Skin
=
"Sunset"
AutoGenerateEditColumn
=
"true"
ID
=
"RadGrid1"
ShowStatusBar
=
"true"
DataSourceID
=
"SqlDataSource1"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowPaging
=
"True"
GridLines
=
"None"
PageSize
=
"10"
>
<
PagerStyle
Mode
=
"NumericPages"
></
PagerStyle
>
<
MasterTableView
HierarchyLoadMode
=
"ServerOnDemand"
DataSourceID
=
"SqlDataSource1"
DataKeyNames
=
"CustomerID"
AllowMultiColumnSorting
=
"True"
CommandItemDisplay
=
"None"
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Orders"
DataKeyNames
=
"OrderID"
CommandItemDisplay
=
"None"
DataSourceID
=
"SqlDataSource2"
Width
=
"100%"
runat
=
"server"
>
<
ParentTableRelation
>
<
telerik:GridRelationFields
DetailKeyField
=
"CustomerID"
MasterKeyField
=
"CustomerID"
/>
</
ParentTableRelation
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"OrderID"
HeaderText
=
"OrderID"
HeaderButtonType
=
"TextButton"
DataField
=
"OrderID"
UniqueName
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"OrderDate"
HeaderText
=
"Date Ordered"
HeaderButtonType
=
"TextButton"
DataField
=
"OrderDate"
UniqueName
=
"OrderDate"
DataFormatString
=
"{0:D}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"Freight"
HeaderText
=
"Freight"
HeaderButtonType
=
"TextButton"
DataField
=
"Freight"
UniqueName
=
"Freight"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"OrderDate"
></
telerik:GridSortExpression
>
</
SortExpressions
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
SortExpression
=
"CustomerID"
HeaderText
=
"CustomerID"
HeaderButtonType
=
"TextButton"
DataField
=
"CustomerID"
UniqueName
=
"CustomerID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"ContactName"
HeaderText
=
"Contact Name"
HeaderButtonType
=
"TextButton"
DataField
=
"ContactName"
UniqueName
=
"ContactName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"CompanyName"
HeaderText
=
"Company"
HeaderButtonType
=
"TextButton"
DataField
=
"CompanyName"
UniqueName
=
"CompanyName"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"CompanyName"
></
telerik:GridSortExpression
>
</
SortExpressions
>
</
MasterTableView
>
<
ClientSettings
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
br
/> <
br
/>
<
asp:Button
ID
=
"Button1"
runat
=
"server"
Text
=
"Export to PDF selected items with Child Items"
OnClick
=
"Button1_Click"
/>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Customers"
runat="server"></
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource2"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Orders Where CustomerID = @CustomerID"
runat="server">
<
SelectParameters
>
<
asp:SessionParameter
Name
=
"CustomerID"
SessionField
=
"CustomerID"
Type
=
"string"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
div
>
</
form
>
</
body
>
</
html
>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (RadGrid1.SelectedItems.Count != 0)
{
foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
{
if (!item.Selected)
item.Visible = false;
}
}
RadGrid1.ExportSettings.OpenInNewWindow = true;
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.MasterTableView.HierarchyDefaultExpanded = true;
RadGrid1.MasterTableView.ExportToPdf();
}
}