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
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 >>
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 >>
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...
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
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...
Attached is a small sample.
All the best, Tsvetoslav
the Telerik team