| <div runat="server"> |
| <telerik:RadTabStrip ID="radTabStrip" runat="server" Skin="Sunset" |
| MultiPageID="mpageTabs" SelectedIndex="0"> |
| <Tabs> |
| <telerik:RadTab Text="Graph"></telerik:RadTab> |
| <telerik:RadTab Text="Table"></telerik:RadTab> |
| <telerik:RadTab Text="Criteria"></telerik:RadTab> |
| </Tabs> |
| </telerik:RadTabStrip> |
| <telerik:RadMultiPage ID="mpageTabs" runat="server" SelectedIndex="0"> |
| <telerik:RadPageView ID="pageGraph" runat="server"> |
| </telerik:RadPageView> |
| <telerik:RadPageView ID="pageChart" runat="server"> |
| </telerik:RadPageView> |
| <telerik:RadPageView ID="pageCriteria" runat="server"> |
| </telerik:RadPageView> |
| </telerik:RadMultiPage> |
| </div> |
| <script type="text/javascript"> |
| function getRadTabStrip() |
| { |
| debugger; |
| var clientId = "<%= radTabStrip.ClientID %>"; |
| var tabStrip = $find(clientId); |
| return tabStrip; |
| } |
| </script> |
Hi guys,
I have been asked to output the RadGrid content to a PDF. I have used the following formatting code to do the formatting when the item is being created.
Note: that the Grid uses GroupBy headings (in which I am having trouble formatting)
| Protected Sub RadGrid_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgResults.ItemDataBound |
| If (TypeOf e.Item Is GridDataItem OrElse TypeOf e.Item Is GridHeaderItem) Then |
| 'to align the field left in the PDF even tho it looks ok on the webpage |
| For Each cell As TableCell In e.Item.Cells |
| cell.Style("text-align") = "left" |
| Next |
| Select Case e.Item.ItemType 'Mimic RadGrid appearance for the exported PDF file |
| Case GridItemType.Item |
| e.Item.Style("background-color") = "#E8E8E8" |
| Exit Select |
| Case GridItemType.AlternatingItem |
| e.Item.Style("background-color") = "#FFFFFF" |
| Exit Select |
| Case GridItemType.GroupHeader |
| e.Item.Style("background-color") = "#000000" |
| e.Item.Style("color") = "#FFFFFF " |
| Exit Select |
| Case GridItemType.Header |
| e.Item.Style("background-color") = "#000000" |
| e.Item.Style("color") = "#FFFFFF" |
| Exit Select |
| End Select |
| End If |
| End Sub |
Im assuming that the following code will format the groupby headings in the table however in the PDF it is in plain black text and not with a black background and white text:
Case GridItemType.GroupHeader
e.Item.Style("background-color") = "#000000"
e.Item.Style("color") = "#FFFFFF "
Exit Select
Any comments will be grateful,
Thanks
I didnot get the proper search results when i try to find (Bind template fields like (text box / dropdown) in Hierarchical / Details table in Grid). So, i posted here for just documentation purposes.
| <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" |
| AllowSorting="True" GridLines="None" AutoGenerateColumns="False" Skin="WebBlue" |
| EnableEmbeddedSkins="False" AllowMultiRowSelection="True"> |
| <MasterTableView TableLayout="Fixed" CellSpacing="-1" HierarchyLoadMode="Client" |
| DataKeyNames="parent_Id"> |
| <DetailTables> |
| <telerik:GridTableView Name="DetailsTable1" Width="100%" AllowFilteringByColumn="False" |
| runat="server"> |
| <Columns> |
| <telerik:GridClientSelectColumn HeaderText="" UniqueName="CheckboxSelectColumn" HeaderStyle-Width="35px" |
| ItemStyle-Width="35px" /> |
| <telerik:GridBoundColumn FilterControlWidth="75px" DataField="child_Id" HeaderText="CHILD ID" |
| SortExpression="child_Id" UniqueName="child_Id" /> |
| <telerik:GridTemplateColumn HeaderText="RANK" AllowFiltering="False" SortExpression="Rank" |
| UniqueName="Rank"> |
| <ItemTemplate> |
| <telerik:RadNumericTextBox ID="radRankInsideGrid" runat="server" NumberFormat-DecimalDigits="0" |
| NumberFormat-GroupSeparator="" Type="Number" MaxLength="6" Width="40px" DataType="Integer"> |
| </telerik:RadNumericTextBox> |
| </ItemTemplate> |
| <HeaderStyle HorizontalAlign="Center" /> |
| <ItemStyle HorizontalAlign="Center" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="SELECTED" AllowFiltering="False" SortExpression="SelectedDesc" |
| UniqueName="Selected"> |
| <ItemTemplate> |
| <telerik:RadComboBox ID="radSelectedInsideGrid" DataTextField="SelectedDesc" DataValueField="SelectedID" |
| Width="100px" runat="server" EnableLoadOnDemand="true" AllowCustomText="false" |
| OnItemsRequested="radSelectedInsideGrid_ItemsRequested" /> |
| </ItemTemplate> |
| <HeaderStyle HorizontalAlign="Center" /> |
| <ItemStyle HorizontalAlign="Center" /> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| <Columns> |
| <telerik:GridBoundColumn Visible="False" DataField="parent_Id" UniqueName="parent_Id" /> |
| <telerik:GridBoundColumn DataField="Name" HeaderText="NAME" SortExpression="Name" |
| UniqueName="Name" FilterControlWidth="75%" /> |
| <telerik:GridBoundColumn DataField="Type" HeaderText="TYPE" SortExpression="Type" |
| UniqueName="Type" FilterControlWidth="75%" /> |
| <telerik:GridDateTimeColumn DataFormatString="{0:d}" DataField="StartDate" |
| FilterListOptions="VaryByDataType" HeaderText="START DATE" SortExpression="StartDate" |
| UniqueName="StartDate" HeaderStyle-Width="140px" FilterControlWidth="100px" /> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
code behind:
| Private Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource |
| If Not e.IsFromDetailTable Then |
| RadGrid1.DataSource = ParentBindData() |
| End If |
| End Sub |
| Private Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind |
| Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) |
| Select Case e.DetailTableView.Name.ToUpper() |
| Case "DETAILSTABLE1" |
| Dim obj As New ClassName |
| obj.Id = dataItem.GetDataKeyValue("parent_Id").ToString() |
| e.DetailTableView.DataSource = obj.bindResults() |
| objPI = Nothing |
| End Select |
| End Sub |
| Private Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If e.Item.OwnerTableView.Name = "DetailsTable1" And _ |
| (e.Item.ItemType = GridItemType.Item Or e.Item.ItemType = GridItemType.AlternatingItem) Then |
| 'Grid Item |
| Dim objGridItem As GridDataItem |
| objGridItem = CType(e.Item, GridDataItem) |
| 'Rank |
| Dim objRadTextBox As RadNumericTextBox |
| objRadTextBox = CType(objGridItem("Rank").FindControl("radRankInsideGrid"), RadNumericTextBox) |
| If Not IsNothing(objRadTextBox) Then |
| objRadTextBox.Text = e.Item.DataItem("Rank").ToString() |
| End If |
| 'Selected, re-using the same objRadComboBox object. |
| Dim objRadComboBox1 As RadComboBox |
| objRadComboBox1 = CType(objGridItem("Selected").FindControl("radSelectedInsideGrid"), RadComboBox) |
| If Not IsNothing(objRadComboBox1) And e.Item.DataItem("SelectedID").ToString() <> String.Empty Then |
| GetSelectedLKUP(objRadComboBox1) |
| objRadComboBox1.SelectedValue = e.Item.DataItem("SelectedID").ToString() |
| End If |
| End If |
| End Sub |
| Private Sub GetSelectedLKUP(ByVal objRadComboBox As RadComboBox, Optional ByVal customText As String = "") |
| Dim objLookup As New Lookup |
| Dim objDataSet As DataSet = objLookup.bindSelectedLKUP() |
| objRadComboBox.DataSource = objDataSet |
| objRadComboBox.DataBind() |
| objLookup = Nothing |
| End Sub |
| Protected Sub radSelectedInsideGrid_ItemsRequested(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs) |
| Dim objRadComboBox As RadComboBox = DirectCast(sender, RadComboBox) |
| objRadComboBox.Items.Clear() |
| GetSelectedLKUP(objRadComboBox, e.Text) |
| End Sub |
