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

How to print RadGrid HeaderRow with Selected Row?

6 Answers 206 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Guruvu
Top achievements
Rank 1
Guruvu asked on 06 Sep 2011, 09:43 AM

Hi,

Now i am able to print RadGrid selected row with the help of following article:
http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-print-selected-radgrid-row-and-add-new-link-button-in-command-item-template.aspx

I need to print Header Row along with selected row.

How can i achieve above requirement.

Thanks in advance...

6 Answers, 1 is accepted

Sort by
0
Tsvetoslav
Telerik team
answered on 09 Sep 2011, 07:33 AM
Hello Guruvu,

Your requirement effectively boils down to getting hold of the grid's header row. You can do so using jQuery as follows:
var headerRow = $telerik.$("th.rgHeader").parent("tr");

Hope it helps.

Greetings,
Tsvetoslav
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Tsvetoslav
Telerik team
answered on 09 Sep 2011, 07:34 AM
Hello Guruvu,

Your requirement effectively boils down to getting hold of the grid's header row. You can do so using jQuery as follows:
var headerRow = $telerik.$("th.rgHeader").parent("tr");

Hope it helps.

Greetings,
Tsvetoslav
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Guruvu
Top achievements
Rank 1
answered on 09 Sep 2011, 08:07 AM
Hi,

I am searching the solution for this from last 3 days.Thanks for your response.But i have not idea about JQuery.

I have grid with both Master data & details data.So what are the rows that i selected either in Master and Details table,it will be printed with out header row(s).

With out column headings it is not good.

Here is my java script function for printing grid with Master data & details data :

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
    function PrintRadGrid() {
        var sh = '<%= Page.ClientScript.GetWebResourceUrl(gvIndents.GetType(),String.Format("Telerik.Web.UI.Skins.{0}.Grid.{0}.css",gvIndents.Skin)) %>';
        var styleStr = "<html><head><link href = '" + sh + "' rel='stylesheet' type='text/css'></link></head>";
        var MasterTable = $find('<%= gvIndents.ClientID %>').get_masterTableView();
        var selectedRows = MasterTable.get_selectedItems();
        var htmlcontent = "<table>";
        for (var i = 0; i < selectedRows.length; i++) {
            var row = selectedRows[i];
            htmlcontent = htmlcontent + "<tr>" + row.get_element().innerHTML + "</tr>";
            if (row.get_nestedViews().length > 0) {
                var nestedSelectedRows = row.get_nestedViews()[0].get_selectedItems();
                for (var j = 0; j < nestedSelectedRows.length; j++) {
                    var nestedRow = nestedSelectedRows[j];
                    htmlcontent = htmlcontent + "<tr>" + nestedRow.get_element().innerHTML + "</tr>";
                }
            }
        }
 
        htmlcontent = styleStr + "<body><div class='RadGrid RadGrid_Simple'>" + htmlcontent + "</table></div></body></html>";
 
        var previewWnd = window.open('about:blank', '', '', false);
        previewWnd.document.open();
        previewWnd.document.write(htmlcontent);
        previewWnd.document.close();
        previewWnd.print();
 
    }   
</script>
</telerik:RadCodeBlock>

So please tell me where can i add below piece of code
var headerRow = $telerik.$("th.rgHeader").parent("tr");

Here i need to print both the Master & Details grid header rows.

Thanks in advance...
0
Tsvetoslav
Telerik team
answered on 12 Sep 2011, 10:06 AM
Hi Guruvu,

Do try modifying your code as follows:

    
.
.
.
var selectedRows = MasterTable.get_selectedItems();
    var htmlcontent = "<table>";
var headerRow = $telerik.$(grid.get_masterTableView().get_element()).find("th.rgHeader").parent("tr")[0];
htmlcontent = htmlcontent + "<tr>" + headerRow.get_element().innerHTML + "</tr>";
      
for (var i = 0; i < selectedRows.length; i++) {
        var row = selectedRows[i];
        htmlcontent = htmlcontent + "<tr>" + row.get_element().innerHTML + "</tr>";
        if (row.get_nestedViews().length > 0) {
    var detailTableView = row.get_nestedViews()[0];     
    headerRow = $telerik.$(detailTableView.get_element()).find("th.rgHeader").parent("tr")[0];
    htmlcontent = htmlcontent + "<tr>" + headerRow.get_element().innerHTML + "</tr>";
  
            var nestedSelectedRows = row.get_nestedViews()[0].get_selectedItems();
            for (var j = 0; j < nestedSelectedRows.length; j++) {
                var nestedRow = nestedSelectedRows[j];
                htmlcontent = htmlcontent + "<tr>" + nestedRow.get_element().innerHTML + "</tr>";
            }
        }
    }

.
.
.


Regards,
Tsvetoslav
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
Guruvu
Top achievements
Rank 1
answered on 12 Sep 2011, 01:20 PM
Hi Tsvetoslav,

Thanks for your response.

I am replaced my code as you said & executed.But i didn't get any output.

Here is my function:

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"
<script type="text/javascript">
 function PrintRadGrid() {
        var sh = '<%= Page.ClientScript.GetWebResourceUrl(gvIndents.GetType(),String.Format("Telerik.Web.UI.Skins.{0}.Grid.{0}.css",gvIndents.Skin)) %>';
        var styleStr = "<html><head><link href = '" + sh + "' rel='stylesheet' type='text/css'></link></head>";
        var MasterTable = $find('<%= gvIndents.ClientID %>').get_masterTableView();
        var selectedRows = MasterTable.get_selectedItems();
        var htmlcontent = "<table>";
        var headerRow = $telerik.$(grid.get_masterTableView().get_element()).find("th.rgHeader").parent("tr")[0];
        htmlcontent = htmlcontent + "<tr>" + headerRow.get_element().innerHTML + "</tr>";
  
        for (var i = 0; i < selectedRows.length; i++) {
            var row = selectedRows[i];
            htmlcontent = htmlcontent + "<tr>" + row.get_element().innerHTML + "</tr>";
            if (row.get_nestedViews().length > 0) {
                var detailTableView = row.get_nestedViews()[0];
                headerRow = $telerik.$(detailTableView.get_element()).find("th.rgHeader").parent("tr")[0];
                htmlcontent = htmlcontent + "<tr>" + headerRow.get_element().innerHTML + "</tr>";
  
                var nestedSelectedRows = row.get_nestedViews()[0].get_selectedItems();
                for (var j = 0; j < nestedSelectedRows.length; j++) {
                    var nestedRow = nestedSelectedRows[j];
                    htmlcontent = htmlcontent + "<tr>" + nestedRow.get_element().innerHTML + "</tr>";
                }
            }
        }
  
  
        htmlcontent = styleStr + "<body><div class='RadGrid RadGrid_Simple'>" + htmlcontent + "</table></div></body></html>";
  
        var previewWnd = window.open('about:blank', '', '', false);
        previewWnd.document.open();
        previewWnd.document.write(htmlcontent);
        previewWnd.document.close();
        previewWnd.print();
  
</script
</telerik:RadCodeBlock>

Here ID for my RadGrid was "gvIndents"

Please help me to fix the problem.

Thanks in advance...
0
Tsvetoslav
Telerik team
answered on 15 Sep 2011, 09:30 AM
Hello Guruvu,

Attached is a small sample.

All the best, Tsvetoslav
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal
Tags
Grid
Asked by
Guruvu
Top achievements
Rank 1
Answers by
Tsvetoslav
Telerik team
Guruvu
Top achievements
Rank 1
Share this question
or