Please check the below code. This is a double drill down grid.
The PDF export has following capabilities :
- Exports all the data of all the pages with the detail view
- Adds a header on top of the PDF "this is a test"
<div>
<div id="divExportIcons" runat="server"><asp:linkbutton id="lnkPDF" runat="server" text="PDF" onclick="lnkPDF_Click"></asp:linkbutton><asp:linkbutton id="lnkExcel" runat="server" text="Excel" onclick="lnkExcel_Click"></asp:linkbutton>
<telerik:radgrid runat="server" id="trdDemo" skin="Black" onneeddatasource="trdDemo_OnNeedDataSource"gridlines="None" allowsorting="True" allowpaging="True" autogeneratecolumns="False"showstatusbar="True" ondetailtabledatabind="trdDemo_OnDetailTableDataBind" onitemcreated="RadGrid1_ItemCreated"
<HeaderContextMenu EnableAutoScroll="True">
<ExportSettings IgnorePaging="true" OpenInNewWindow="true" >
<SortExpressions><telerik:GridSortExpression FieldName="Plan_Name" /></SortExpressions><DetailTables>
<DetailTables>
<telerik:GridTableView Name="Employee" runat="server" ExpandCollapseColumn-ShowSortIcon="true" AutoGenerateColumns="false">
<Columns><telerik:GridBoundColumn UniqueName="Title_Id" DataField="Title_Id" DataType="System.String" HeaderText="Title_Id"> </telerik:GridBoundColumn><telerik:GridBoundColumn UniqueName="Surname" DataField="Surname" DataType="System.String" HeaderText="Surname"> </telerik:GridBoundColumn>
</Columns>
</telerik:GridTableView></DetailTables><Columns><telerik:GridBoundColumn UniqueName="Employer_Name" DataField="Employer_Name" DataType="System.String" HeaderText="Employer_Name"> </telerik:GridBoundColumn><telerik:GridBoundColumn UniqueName="Trading_Name" DataField="Trading_Name" DataType="System.String" HeaderText="Trading Name"> </telerik:GridBoundColumn><telerik:GridBoundColumn UniqueName="Created_Dt" DataField="Created_Dt" DataType="System.DateTime" HeaderText="Created_Dt"> </telerik:GridBoundColumn></Columns><ExpandCollapseColumn Visible="True"></ExpandCollapseColumn></telerik:GridTableView>
</DetailTables> <ExpandCollapseColumn Visible="True"></ExpandCollapseColumn><Columns><telerik:GridBoundColumn UniqueName="Plan_Id" DataField="Plan_Id" DataType="System.Int32" HeaderText="Plan Id"> </telerik:GridBoundColumn><telerik:GridBoundColumn UniqueName="Plan_Name" DataField="Plan_Name" DataType="System.String" HeaderText="Plan Name"> </telerik:GridBoundColumn><telerik:GridBoundColumn UniqueName="Plan_Code" DataField="Plan_Code" DataType="System.String" HeaderText="Plan Code"> </telerik:GridBoundColumn></Columns><CommandItemSettings ShowExportToWordButton="true" ShowExportToExcelButton="true"ShowExportToCsvButton="true" /></MasterTableView></telerik:radgrid></div>
protected void Page_Load(object sender, EventArgs e)
{ }
protected void trdDemo_OnNeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
AAS_ProdEntities3 aasContext = new AAS_ProdEntities3();
trdDemo.DataSource = aasContext.Web_Plan.ToList<Web_Plan>();
}
protected void trdDemo_OnDetailTableDataBind(object source, GridDetailTableDataBindEventArgs e)
{
GridDataItem gridDataItem = (GridDataItem)e.DetailTableView.ParentItem;
if (e.DetailTableView.Name == DetailTableType.Employer.ToString())
e.DetailTableView.DataSource = GetEmployerForPlan(gridDataItem.GetDataKeyValue("Plan_Id"));
if (e.DetailTableView.Name == DetailTableType.Employee.ToString())
e.DetailTableView.DataSource = GetMemberForEmployer(gridDataItem.GetDataKeyValue("Employer_Id"));
}
protected void trdDemo_OnPdfExporting(object sender, GridPdfExportingArgs e)
{
e.RawHTML =
"<div style='color: #606010; background-color: #88afea; font-weight: bold;'>this is a test</div>" + e.RawHTML;
}
protected void lnkPDF_Click(object sender, EventArgs e)
{
if ((trdDemo.MasterTableView.Items.Count) > 0
{
trdDemo.ExportSettings.ExportOnlyData = false;
trdDemo.ExportSettings.IgnorePaging = true;
trdDemo.MasterTableView.HierarchyDefaultExpanded = true;
trdDemo.MasterTableView.DetailTables[0].HierarchyDefaultExpanded = true;
trdDemo.MasterTableView.DetailTables[0].DetailTables[0].HierarchyDefaultExpanded = true;
trdDemo.GridLines = GridLines.Both;
trdDemo.MasterTableView.ExportToPdf();}
}
{
{protected void lnkExcel_Click(object sender, EventArgs e)
{
if ((trdDemo.MasterTableView.Items.Count) > 0
{
trdDemo.ExportSettings.ExportOnlyData = false;
trdDemo.ExportSettings.IgnorePaging = true;
trdDemo.MasterTableView.HierarchyDefaultExpanded = true;
trdDemo.MasterTableView.DetailTables[0].HierarchyDefaultExpanded = true;
trdDemo.MasterTableView.DetailTables[0].DetailTables[0].HierarchyDefaultExpanded = true;
trdDemo.GridLines = GridLines.Both;
trdDemo.MasterTableView.ExportToExcel();
}
}{
lstMember = aasContext.GetMemberForEmployer(
}
}private List<GetMemberForEmployer_View> GetMemberForEmployer(object employerId)
{
List<GetMemberForEmployer_View> lstMember = null;
using (AAS_ProdEntities3 aasContext = new AAS_ProdEntities3())
lstEmployer = aasContext.GetAllEmployerPerPlan(
Convert.ToInt32(employerId)).ToList<GetMemberForEmployer_View>();
return lstMember
}
private List<GetEmployerPerPlan_View> GetEmployerForPlan(object planId)
{
List<GetEmployerPerPlan_View> lstEmployer = null;
using (AAS_ProdEntities3 aasContext = new AAS_ProdEntities3())
Convert.ToInt32(planId)).ToList<GetEmployerPerPlan_View>();
return lstEmployer;
}
}
public enum DetailTableType{
Employer,
Employee
}
exporting gridview data to various files
ReplyDelete