Telerik Forums
UI for ASP.NET AJAX Forum
6 answers
147 views
I have two schedulers. One is for users to populate with appointments. The second one is public facing. They both share the same data source though. For the public facing, as the scheduler loads and populates events I need to do the following:

- check the appointment subject. (For simplicity) If the subject is "A" then I set the background image of the cell to a color and an image
- if the subject is "B" I set it to another image and color
- I need to set the whole background image of the cell in month view. Not the background image and color for the appointment. The whole cell.
- I need to then also make the appointment invisible so that only the color and image remain.

I tried doing this in the OnAppointmentCreated event. I have the code below but this only sets the color of the appointment and not the whole cell. It also for some reason does not hide the appointment. Any help would be appreciated.

protected void RadScheduler1_AppointmentCreated(object sender, Telerik.Web.UI.AppointmentCreatedEventArgs e)
{          
            if(e.Appointment.Subject.ToString() == "A")
            {
                e.Appointment.CssClass = "Custom";            
                e.Appointment.Visible = false;
            }
}

the css:
<style type="text/css">  
    .Custom .rsAptOut  
    {  
         background-color: Blue !important;  
    }  
    </style>
Plamen
Telerik team
 answered on 03 Aug 2011
1 answer
82 views
Hi,

I have two RadComboBox. combo1 and combo2.

Combo1 populates countries and combo2 states which belongs to a particular country.

How can I populate combo2 on selectedindex of combo1 using ajaxcall. ?


Thanks,
Shinu
Top achievements
Rank 2
 answered on 03 Aug 2011
2 answers
176 views
Hi
      I have nestedview grid,which has two tabs and each tab has pageview section. My scenario is i have to bind the DetailView section of one of my Tab dynamically by code. I cannot swith detaiview section to bind the data. I dont know which event helps to bind the data.


-Thanks
Pieter
Top achievements
Rank 1
 answered on 03 Aug 2011
4 answers
73 views
I am working on a site that was using Qx 2008 controls.  In the process of working on the site, I migrated the controls to Q1 2009.  In the process the "gray" them was no longer available so I had to switch themes on the radtabstrip.  Any theme I select has a visual tab problem where the left x number of pixels are elevated above the rest of the tab.  See attached JPG.

Doug



Dimitar Terziev
Telerik team
 answered on 03 Aug 2011
1 answer
92 views
My Code is :

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>


<!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 id="Head1" runat="server">
    <title></title>
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server" />
    <style type="text/css">
        .border
        {
            border-bottom: 1px solid grey;
        }
        
        .RadTabStripVertical li.rtsLI .new, .new
        {
            padding-left: 10px !important;
        }
        .RadTabStripVertical li.rtsLI .new1, .new1
        {
            padding-left: 20px !important;
        }
        .RadTabStripVertical li.rtsLI .new2, .new2
        {
            padding-left: 30px !important;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        <Scripts>
            <%--Needed for JavaScript IntelliSense in VS2010--%>
            <%--For VS2008 replace RadScriptManager with ScriptManager--%>
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />
        </Scripts>
    </telerik:RadScriptManager>
    <script type="text/javascript">
        //Put your JavaScript code here.
    </script>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    </telerik:RadAjaxManager>
    <div>
        <table style="padding: 0px; width: 100%; float: left">
            <tr>
                <td width="20%" valign="top">
                    <telerik:RadPanelBar ID="RadPanelBar1" runat="server" Width="100%">
                        <Items>
                            <telerik:RadPanelItem runat="server" Text="Registration">
                                <Items>
                                    <telerik:RadPanelItem runat="server" Text="Student">
                                    </telerik:RadPanelItem>
                                    <telerik:RadPanelItem runat="server" Text="Test">
                                    </telerik:RadPanelItem>
                                </Items>
                            </telerik:RadPanelItem>
                            <telerik:RadPanelItem runat="server" Text="SuperUser">
                                <Items>
                                    <telerik:RadPanelItem runat="server" Text="Window &amp; Tab">
                                    </telerik:RadPanelItem>
                                </Items>
                            </telerik:RadPanelItem>
                        </Items>
                    </telerik:RadPanelBar>
                </td>
                <td width="100%" style="float: left">
                    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" Skin="Office2007"
                        Width="100%" MultiPageID="RadMultiPage1">
                        <Tabs>
                            <telerik:RadTab runat="server" Text="Student" Selected="True" SelectedIndex="0" PageViewID="RadPageView1">
                                <Tabs>
                                    <telerik:RadTab runat="server" Text="AD_TABLE_ID" PageViewID="RadPageView1">
                                    </telerik:RadTab>
                                </Tabs>
                            </telerik:RadTab>
                            <telerik:RadTab runat="server" Text="Test" PageViewID="RadPageView2">
                                <Tabs>
                                    <telerik:RadTab runat="server" Text="Client Orders" PageViewID="RadPageView2">
                                    </telerik:RadTab>
                                    <telerik:RadTab runat="server" Text="Client Information" PageViewID="RadPageView2">
                                    </telerik:RadTab>
                                </Tabs>
                            </telerik:RadTab>
                        </Tabs>
                    </telerik:RadTabStrip>
                    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" Width="100%" SelectedIndex="0">
                        <telerik:RadPageView ID="RadPageView1" runat="server" Width="100%">
                            <telerik:RadToolBar ID="RadToolBar1" runat="server" Width="100%">
                                <Items>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Ignore24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Help24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Save24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Multi24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Ignore24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Report24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Report24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Archive24.png">
                                    </telerik:RadToolBarButton>
                                </Items>
                            </telerik:RadToolBar>
                            <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="XmlDataSource1">
                                <HeaderContextMenu DataTextField="id" DataValueField="id">
                                </HeaderContextMenu>
                                <HeaderContextMenu DataTextField="name" DataValueField="name">
                                </HeaderContextMenu>
                                <HeaderContextMenu DataTextField="color" DataValueField="color">
                                </HeaderContextMenu>
                            </telerik:RadGrid>
                            <asp:XmlDataSource ID="XmlDataSource1" runat="server" EnableCaching="False" DataFile="~/Bin/xml.xml"
                                TransformFile="~/Bin/xml.xsl"></asp:XmlDataSource>
                            <br>
                            student >> home address >> city<br>
                            <!--Sub Tab -->
                            <telerik:RadTabStrip ID="RadTabStrip2" runat="server" Orientation="VerticalLeft"
                                MultiPageID="RadMultiPage2" Width="10%" SelectedIndex="1">
                                <Tabs>
                                    <telerik:RadTab runat="server" Text="Batch" PageViewID="RadPageView3" CssClass="border">
                                    </telerik:RadTab>
                                    <telerik:RadTab runat="server" Text="Address" OuterCssClass="new" CssClass="border"
                                        Selected="True" PageViewID="RadPageView3">
                                    </telerik:RadTab>
                                </Tabs>
                            </telerik:RadTabStrip>
                        </telerik:RadPageView>
                        <telerik:RadPageView ID="RadPageView2" runat="server" Width="100%">
                        </telerik:RadPageView>
                    </telerik:RadMultiPage>
                    <telerik:RadMultiPage ID="RadMultiPage2" runat="server">
                        <telerik:RadPageView ID="RadPageView3" runat="server" Width="100%">
                            <telerik:RadToolBar ID="RadToolBar3" runat="server" Width="100%">
                                <Items>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Ignore24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Help24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Save24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Multi24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Ignore24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Report24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Report24.png">
                                    </telerik:RadToolBarButton>
                                    <telerik:RadToolBarButton runat="server" ImageUrl="http://testadempiere.com/webui/images/Archive24.png">
                                    </telerik:RadToolBarButton>
                                </Items>
                            </telerik:RadToolBar>
                            <telerik:RadGrid ID="RadGrid2" runat="server" DataSourceID="XmlDataSource1">
                                <HeaderContextMenu DataTextField="id" DataValueField="id">
                                </HeaderContextMenu>
                                <HeaderContextMenu DataTextField="name" DataValueField="name">
                                </HeaderContextMenu>
                                <HeaderContextMenu DataTextField="color" DataValueField="color">
                                </HeaderContextMenu>
                            </telerik:RadGrid>
                            <asp:XmlDataSource ID="XmlDataSource2" runat="server" EnableCaching="False" DataFile="~/Bin/xml.xml"
                                TransformFile="~/Bin/xml.xsl"></asp:XmlDataSource>
                        </telerik:RadPageView>
                    </telerik:RadMultiPage>
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>
NOW THE PROBLEM I AM FACING IS, INITIALLY ON THE PAGE LOAD, TEST RAD TAB CONTENT IS EMPTY. WHEN I CLICK BATCH AND THE CONTENT OF THE BATCH APPEARS, THE CONTENT OF THE BATCH ALSO APPEARS WITH THE TEST RAD TAB. CAN ANY BODY SOLVE THIS ISSUE? 



Helen
Telerik team
 answered on 03 Aug 2011
3 answers
305 views

Hi,

    I am using Rad numeric text box in my page. Am trying to set the value of numeric text box on seleting a drop down list. But its not displaying the data. And i tried to set the value in prerender of text box also.. that is also not working . How to set the value of rad numeric text box in code behind. If i assign directly to value property its working.. If am assigning from viewstate its not working.

Here is the code i tried:

protected void dropDownListResource_SelectedIndexChanged(object sender, EventArgs e)
        {
double DailyRateToUse = val; //val - viewstate variable
 radNumericTextboxRate.Value = Convert.ToDouble(DailyRateToUse);
        }
    protected void radNumericTextboxRate_PreRender(object sender, EventArgs e)
        {
double DailyRateToUse = val//val - viewstate variabledouble
radNumericTextboxRate.Value = Convert.ToDouble(DailyRateToUse);
  
}

Thanks
Esther
Jayesh Goyani
Top achievements
Rank 2
 answered on 03 Aug 2011
3 answers
87 views
I have a grid that binds to a list of objects. The object has an 'ArtistID' which is not displayed in the grid and is not a data key

I need to gain access to this in the UpdateCommand event, but I just cant figure out how its done. 

anyone help ?
mww
Top achievements
Rank 1
 answered on 03 Aug 2011
1 answer
60 views
Hi,

I can't figure out how to make use of the GridGroupLoadMode.Client, define groups on the server and at the same time selectively collapse certain groups when the grid initially loads.  I'm loading the groups just fine, but when I try to set groupHeader.Expanded = false in the Pre_Render event, I get javascript errors and things don't work right afterwards (context menu doesn't expand, date picker for the filter box does not show, etc).  Do you have an example of how to achieve this?
Maria Ilieva
Telerik team
 answered on 03 Aug 2011
1 answer
150 views
Hi,

I am trying to implement "Export to Excel" functionality in a ASP.Net Ajax nested grid. The grid is a user control which displays the results.

I have used the RadAjaxManager on my main page (where the grid user control is displayed) and RadAjaxManagerProxy on the user control.
<%@ Page Title="" Language="C#" MasterPageFile="~/UserAccess.Master" AutoEventWireup="true"
    CodeBehind="QuoteAndPolicy.aspx.cs" Inherits="PASCore.UserAccess.QuoteAndPolicy" %>
  
<%@ Register Src="CustomControls/SearchPanel.ascx" TagName="SearchPanel" TagPrefix="search" %>
<%@ Register Src="CustomControls/QuoteAndPolicyGrid.ascx" TagName="QuoteAndPolicyGrid" TagPrefix="search" %>
  
<%-- Title of the web page  --%>
<asp:content id="Title" contentplaceholderid="PageTitlePlaceHolder" runat="server">
User Access - Quote/ Policy
</asp:content>
<%-- Main Search Panel --%>
<asp:content ContentPlaceHolderID="mainContentPlaceHolder" runat="server">   
    <telerik:RadAjaxManager ID="radAjaxManager" runat="server"/>
    <script type="text/javascript" src="Scripts/QuoteAndPolicy.js"></script
  
    <asp:table id="searchPanelTable" runat="server">
        <asp:tablerow runat="server">
            <asp:tablecell runat="server">
                <search:SearchPanel ID="SearchPanel" runat="server" />
            </asp:tablecell>
        </asp:tablerow>
    </asp:table>
    <asp:table id="searchResultsTable" runat="server">
        <asp:tablerow runat="server">
            <asp:tablecell runat="server">
                <search:QuoteAndPolicyGrid ID="QuoteAndPolicyGrid" runat="server" />
            </asp:tablecell>
        </asp:tablerow>
    </asp:table>
</asp:content>

User Control html code:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuoteAndPolicyGrid.ascx.cs"
    Inherits="PASCore.UserAccess.Controls.QuoteAndPolicyGrid" %>
<%@ Register Src="QuoteAndPolicyActions.ascx" TagName="QuoteAndpolicyActions" TagPrefix="Action" %>
<style type="text/css">
    .viewWrap
    {
        color: #819598;
        font-weight: bold;
        font-size: 16px;
        padding-top: 5px;
        padding-left: 15px;
        padding-bottom: 10px;
        padding-right: 5px;
    }
      
      
    .AjaxLoadingPanel
    {
        background: #fff url(Content/Images/loading.gif) center center no-repeat;
    }
      
    .RadGridPager
    {
        height: 51px;
        padding-left: 5px;
        background-color: white;
        vertical-align: bottom;
        color: #b79ea9;
        font-weight: bold;
    }
      
    .RadGridItemStyle
    {
        border-right: solid 1px gray !important;
    }
</style>
<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="gridResults">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="gridResults" LoadingPanelID="radAjaxLoadingPanel" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>
  
  
<telerik:RadAjaxLoadingPanel ID="radAjaxLoadingPanel" runat="server" Transparency="25" CssClass="AjaxLoadingPanel" />
<telerik:RadGrid ID="gridResults" runat="server" CellSpacing="0" GridLines="Both"
    AllowPaging="True" PageSize="20" ShowGroupPanel="True" OnItemCommand="GridResult_ItemCommand"
    OnNeedDataSource="MainGrid_NeedDataSource" BorderStyle="Solid" GroupingEnabled="true"
    AutoGenerateColumns="false" AllowSorting="true" Width="100%">
    <ClientSettings AllowColumnsReorder="false" ReorderColumnsOnClient="true" AllowAutoScrollOnDragDrop="True">
        <Resizing AllowRowResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True"
            AllowColumnResize="True"></Resizing>
    </ClientSettings>
    <PagerStyle CssClass="RadGridPager" Mode="NextPrevNumericAndAdvanced"></PagerStyle>
    <SortingSettings></SortingSettings>
    <ExportSettings HideStructureColumns="true" />
    <MasterTableView AllowMultiColumnSorting="True" EditMode="PopUp" CommandItemDisplay="Top">
        <NestedViewTemplate>
            <asp:panel runat="server" id="InnerContainer" cssclass="viewWrap" visible="false">
                <telerik:RadTabStrip runat="server" ID="TabStrip" MultiPageID="Multipage" SelectedIndex="0">
                    <tabs>
                  <telerik:RadTab runat="server" Text="Additional Info" PageViewID="additionalInfoView">
                  </telerik:RadTab>
                  <telerik:RadTab runat="server" Text="Coverage Details" PageViewID="coverageDetailsView">
                  </telerik:RadTab>
                </tabs>
                </telerik:RadTabStrip>
                <telerik:RadMultiPage runat="server" ID="multipage" SelectedIndex="0" RenderSelectedPageOnly="false">
                    <telerik:RadPageView runat="server" ID="additionalInfoView">
                        <telerik:RadGrid ID="additionalInfoGrid" runat="server" CellSpacing="0" GridLines="Both"
                            AllowPaging="True" PageSize="5" ShowGroupPanel="true" OnNeedDataSource="AdditionalInfoGrid_NeedDataSource"
                            Width="60%">
                            <clientsettings allowcolumnsreorder="false" reordercolumnsonclient="true">
                          <Resizing AllowRowResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True" AllowColumnResize="True"></Resizing>
                      </clientsettings>
                            <mastertableview showheader="true" autogeneratecolumns="False" allowpaging="true"
                                pagesize="7" hierarchyloadmode="ServerOnDemand">
                        <Columns>
                            <telerik:GridBoundColumn
                                HeaderText="Customer Number" UniqueName="CustomerNumber" 
                                DataField="CustomerNumber" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn
                                HeaderText="Date of Birth" UniqueName="DateOfBirth" 
                                DataField="DateOfBirth" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn 
                                HeaderText="Agency" UniqueName="Agency"
                                DataField="Agency" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn
                                HeaderText="Producer Code" UniqueName="ProducerCode" 
                                DataField="ProducerCode" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn 
                                HeaderText="Last Modified" UniqueName="LastModified" 
                                DataField="LastModified" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn 
                                HeaderText="Comment" UniqueName="Comment" DataField="Comment" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                        </Columns>
                     </mastertableview>
                        </telerik:RadGrid>
                    </telerik:RadPageView>
                    <telerik:RadPageView runat="server" ID="coverageDetailsView">
                        <telerik:RadGrid ID="coverageDetailsGrid" runat="server" CellSpacing="0" GridLines="Both"
                            AllowPaging="True" PageSize="5" ShowGroupPanel="true" OnNeedDataSource="CoverageDetailsGrid_NeedDataSource"
                            Width="60%">
                            <clientsettings allowcolumnsreorder="false" reordercolumnsonclient="true">
                         <Resizing AllowRowResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="True" AllowColumnResize="True"></Resizing>
                     </clientsettings>
                            <mastertableview showheader="true" autogeneratecolumns="False" allowpaging="true"
                                pagesize="7" hierarchyloadmode="ServerOnDemand">
                        <Columns>
                            <telerik:GridBoundColumn DataField="NumberOfDrivers" 
                                HeaderText="Drivers" 
                                UniqueName="NumberOfDrivers" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="NumberOfVehicles" 
                                HeaderText="Vehicles" 
                                UniqueName="NumberOfVehicles" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CompCollisionDeductible" 
                                HeaderText="Comp/Collsion Deductibles" UniqueName="CompCollisionDeductible" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="LiabilityLimit" 
                                HeaderText="Policy Limits" UniqueName="LiabilityLimit" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="CurrentPremium" 
                                HeaderText="Lines of Business/Premium" UniqueName="CurrentPremium" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="RenewalPremium" 
                                HeaderText="Renewal Premium per LOB" UniqueName="RenewalPremium" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle" Visible ="false">
                            </telerik:GridBoundColumn>
                        </Columns>
                    </mastertableview>
                        </telerik:RadGrid>
                    </telerik:RadPageView>
                </telerik:RadMultiPage>
            </asp:panel>
        </NestedViewTemplate>
        <RowIndicatorColumn Visible="True">
        </RowIndicatorColumn>
        <ExpandCollapseColumn Visible="True">
        </ExpandCollapseColumn>
        <Columns>
            <telerik:GridBoundColumn HeaderText="Quote Number" UniqueName="ContractId" DataField="ContractId"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="ContractId" Visible= false>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Quote Number" UniqueName="ContractNumber" DataField="ContractNumber"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="ContractNumber">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Insured" UniqueName="Insured" DataField="Insured"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="Insured">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Street Address" UniqueName="Address" DataField="Address"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="Address">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Risk State" UniqueName="RiskState" DataField="RiskState"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="RiskState">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Line Of Business" UniqueName="LineOfBusiness"
                DataField="LineOfBusiness" ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="LineOfBusiness">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Product" UniqueName="MarketSegment" DataField="MarketSegment"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="MarketSegment">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Eff - Exp Dates" UniqueName="EffExpDates" DataField="EffExpDate"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="EffExpDates">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Status" UniqueName="Status" DataField="Status"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="Status">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Agency" UniqueName="Agency" DataField="Agency"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="Agency">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Premium" UniqueName="Premium" DataField="Premium"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="Premium">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Renewal Premium" UniqueName="RenewalPremium" DataField="RenewalPremium"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="RenewalPremium" visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Premium Difference ($)" UniqueName="TermPremiumChangeDifference" DataField="TermPremiumChangeDifference"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="TermPremiumChangeDifference" visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn HeaderText="Premium Difference (%)" UniqueName="TermPremiumChangePercentage" DataField="TermPremiumChangePercentage"
                ItemStyle-CssClass="RadGridItemStyle" HeaderStyle-CssClass="RadGridItemStyle"
                SortExpression="TermPremiumChangePercentage" visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridEditCommandColumn UniqueName="actionsCommandColumn" EditText="Go" ButtonType="PushButton">
            </telerik:GridEditCommandColumn>
        </Columns>
        <EditFormSettings PopUpSettings-Modal="true" InsertCaption="Actions" EditFormType="Template">
            <FormTemplate>
                <Action:QuoteAndpolicyActions ID="quoteAndPolicyActions" runat="server" />
            </FormTemplate>
        </EditFormSettings>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnPopUpShowing="PopUpShowing" />
    </ClientSettings>
    <HeaderStyle BorderStyle="Solid" />
    <FilterMenu EnableImageSprites="False">
    </FilterMenu>
    <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
    </HeaderContextMenu>
</telerik:RadGrid>

User Control code behind (.cs): In the nested grid, master grid data gets binded when the page loads. Nested grid data gets binded only when user tries to expand the data for a particular row in the mater grid.
/// <summary>
        /// This event is called to populate data on the MainGrid of the page.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void MainGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
          
        {
            if (ContractSearchResponse == null) return;
  
            contracts = ContractSearchResponse.Contracts;
          
            var columnsDataQuery = (from contract in contracts
                                    orderby String.Concat(contract.InsuredFirstName, string.Empty, String.Empty, contract.InsuredLastName), 
                                            String.Concat(contract.AddressLine1, ", ", contract.AddressCityName, ", ", contract.AddressCityCode, ", ", contract.AddressStateCode)
                                    ascending
                                    select new
                                    {   
                                        Insured = String.Format("{0} {1}", contract.InsuredFirstName, contract.InsuredLastName),
                                        ContractId = contract.ContractId,
                                        ContractNumber = contract.ContractNumber,
                                        Address = string.Concat(contract.AddressLine1, ", ", contract.AddressCityName, ", ", contract.AddressCityCode, ", ", contract.AddressStateCode),
                                        MarketSegment = contract.MarketSegment,
                                        LineOfBusiness = contract.LineType,
                                        EffExpDates = contract.ContractExpDate,
                                        Status = contract.TransactionStatus.ToString(),
                                        RiskState = contract.RiskState,
                                        Premium = String.Format("${0}",contract.PreviousTermPremium.ToString()),
                                        RenewalPremium = String.Format("${0}", contract.RenewalTermPremium.ToString()),
                                        TermPremiumChangeDifference = String.Format("${0}", contract.TermPremiumChangeDifference.ToString()),
                                        TermPremiumChangePercentage = String.Format("{0}%",contract.TermPremiumChangePercentage.ToString())
                                    }).AsQueryable();
       
            ((RadGrid)source).DataSource = columnsDataQuery;
            if (DisplayFutureRenewal)
            {
                ((RadGrid)source).Columns.FindByUniqueName("RenewalPremium").Visible = true;
                ((RadGrid)source).Columns.FindByUniqueName("TermPremiumChangeDifference").Visible = true;
                ((RadGrid)source).Columns.FindByUniqueName("TermPremiumChangePercentage").Visible = true;
  
            }
        }
  
  
/// <summary>
        /// This event is called to populate data on the Additional Info sub-grid of the page.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void AdditionalInfoGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {       
                var contractService = isDebuggingEnabled == true ? ZhongsContractService() : ContractServiceFactory.GetContractService();
                      
                ContractDetailResponse contractDetailResponse = null;
                
                //Fetch the contract details information.
                contractDetailResponse = contractService.GetContractDetails(new ContractDetailRequest()
                    {
                        ContractId = contractId,
                        LineType = (lineOfBusiness.CompareTo("Personal Auto") == 0 ?
                            Resources.Enums.LineType.PersonalAuto :
                            Resources.Enums.LineType.PersonalMultiline)
                    }
                );
  
         
                if (contractDetailResponse != null)
                {
                    //Filter the contract details information for Details
                      var contractDetailResponsesQuery = (from contDetailResp in contractDetailResponse.Enumerated()
                                                            select new
                                                            {
                                                                CustomerNumber = contDetailResp.PersonalLine.CustomerNumber,
                                                                DateOfBirth = contDetailResp.PersonalLine.NamedInsuredDateOfBirth,
                                                                Agency = contDetailResp.PersonalLine.AgencyName,
                                                                ProducerCode = contDetailResp.PersonalLine.ProducerCode,
                                                                LastModified = contDetailResp.PersonalLine.LastModified,
                                                                Comment = contDetailResp.PersonalLine.Comment
  
                                                            }
                                                            ).AsQueryable();
  
  
                    ((RadGrid)source).Columns.FindByUniqueName("CustomerNumber").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("DateOfBirth").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("LastModified").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("Comment").Visible = true;
                    ((RadGrid)source).DataSource = contractDetailResponsesQuery;
  
  
  
                }
                     
            
        }
        /// <summary>
        /// This event is called to populate data on the Coverage Details sub-grid of the page.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void CoverageDetailsGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {
              
                var contractService = isDebuggingEnabled == true ? ZhongsContractService() : ContractServiceFactory.GetContractService();
               
                ContractDetailResponse contractDetailResponse = null;
            
                //Fetch the contract details information.
                contractDetailResponse = contractService.GetContractDetails(new ContractDetailRequest()
                    {
                        ContractId = contractId,
                        LineType = (lineOfBusiness.CompareTo("Personal Auto") == 0 ?
                            Resources.Enums.LineType.PersonalAuto :
                            Resources.Enums.LineType.PersonalMultiline)
                    }
                );
            
  
                if (contractDetailResponse != null && contractDetailResponse.AutoLOBContract != null)
                {
                    //Filter the contract details information for Coverage Summary information
                    var coverageDetailsQuery = (from contractDetailResp in contractDetailResponse.Enumerated()
                                                select new
                                                {   NumberOfDrivers = contractDetailResp.AutoLOBContract.DriverList.Count.ToString(),
                                                    NumberOfVehicles = contractDetailResp.AutoLOBContract.VehicleList.Count.ToString(),
                                                    CompCollisionDeductible = String.Format("${0}/${1}", string.Empty, string.Empty),
                                                    LiabilityLimit = String.Format("Liability Limit - ${0}", contractDetailResp.AutoLOBContract.CombinedSingleLimit)                              
                                                }).AsQueryable();
  
                    ((RadGrid)source).Columns.FindByUniqueName("NumberOfDrivers").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("NumberOfVehicles").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("CompCollisionDeductible").Visible = true;
                    ((RadGrid)source).Columns.FindByUniqueName("LiabilityLimit").Visible = true;
                    ((RadGrid)source).DataSource = coverageDetailsQuery;
                    return;
                }
  
  
              
                if (contractDetailResponse != null && contractDetailResponse.MultilineLOBContract != null)
                {
  
                    var lobCurrentTermPremiums = contractDetailResponse.MultilineLOBContract.LOBCurrentTermPremiums == null ? new List <LOBPremium>() :  contractDetailResponse.MultilineLOBContract.LOBCurrentTermPremiums;
                    var lobPriorTermPremiums = contractDetailResponse.MultilineLOBContract.LOBPriorTermPremiums == null ? new List<LOBPremium>() : contractDetailResponse.MultilineLOBContract.LOBPriorTermPremiums;
                  
                    var leftOuterJoin = from lctp in lobCurrentTermPremiums
                                        join lptp in lobPriorTermPremiums 
                                        on lctp.LineOfBusiness equals lptp.LineOfBusiness 
                                        into temp
                                        from lptp in temp.DefaultIfEmpty(new LOBPremium(){ LineOfBusiness = lctp.LineOfBusiness, Premium = null})
                                        select 
                                        new
                                        {
                                            LineOfBusiness = lctp.LineOfBusiness,
                                            CurrentPremium = lctp.Premium, 
                                            RenewalPremium = lptp.Premium
                                        };
  
                
                    var rightOuterJoin = from lptp in lobPriorTermPremiums
                                         join lctp in lobCurrentTermPremiums
                                         on lptp.LineOfBusiness equals lctp.LineOfBusiness
                                         into temp
                                         from lctp in temp.DefaultIfEmpty(new LOBPremium() { LineOfBusiness = lptp.LineOfBusiness, Premium = null })
                                         select
                                         new
                                         {
                                             LineOfBusiness = lptp.LineOfBusiness,
                                             CurrentPremium = lctp.Premium,
                                             RenewalPremium = lptp.Premium
                                         };
  
                    var fullOuterJoin = leftOuterJoin.Union(rightOuterJoin);
  
                    var groupedLinedOfBusiness = from lob in fullOuterJoin.OrderBy(lobPremium => lobPremium.LineOfBusiness)
                                                 group lob by lob.LineOfBusiness
                                                into grouped
                                                select new
                                                {
                                                    CurrentPremium = String.Format("{0} - ${1}", grouped.Key, grouped.Max(l => l.CurrentPremium).ToString()),
                                                    RenewalPremium = String.Format("{0} - ${1}", grouped.Key, grouped.Max(l => l.RenewalPremium).ToString())
                                                };
  
  
                    if (contractDetailResponse.MultilineLOBContract.LOBPriorTermPremiums != null && 
                        contractDetailResponse.MultilineLOBContract.LOBPriorTermPremiums.Count > 0)
                    {
                        ((RadGrid)source).Columns.FindByUniqueName("RenewalPremium").Visible = true;
                    }
  
                    if (contractDetailResponse.MultilineLOBContract.LOBCurrentTermPremiums != null &&
                       contractDetailResponse.MultilineLOBContract.LOBCurrentTermPremiums.Count > 0)
                    {
                        ((RadGrid)source).Columns.FindByUniqueName("CurrentPremium").Visible = true;
                    }
                    ((RadGrid)source).DataSource = groupedLinedOfBusiness.AsQueryable();
  
                    return;       
                }
        }
  
        /// <summary>
        /// This event is called when the user clicks on the item rows on the MainGrid.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void GridResult_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName == RadGrid.ExpandCollapseCommandName && e.Item is
                GridDataItem)
            {
                GridDataItem item = e.Item as GridDataItem;
    
                item.ChildItem.FindControl("InnerContainer").Visible = !e.Item.Expanded;
  
                contractId = item["ContractId"].Text;
  
                lineOfBusiness = item["LineOfBusiness"].Text;
            
                if (!item.Expanded)
                {
                    GridNestedViewItem nestedItem = (GridNestedViewItem)item.ChildItem;
                    RadGrid tempGrid = (RadGrid)nestedItem.FindControl("additionalInfoGrid");
                    tempGrid.Rebind();
  
                    tempGrid = (RadGrid)nestedItem.FindControl("coverageDetailsGrid");
  
                    tempGrid.Rebind();
  
                }
            }
        }

Questions: How do i register Client Events? I tried doing in Page_Load, but system threw an exception because it is not able to find getCurrent(this.page)
I want to export with "ExportOnlydata" = true and "IgnorePaging" = true, In doing so i get excpetion, which i think is because child grid data is not available (since it gets loaded only on Grid ItemCommand event).

I would really appreciate if you could look into my code and suggest me how to implement "Export to excel" functionality in this case.

Thanks,

-Rajesh
Jayesh Goyani
Top achievements
Rank 2
 answered on 03 Aug 2011
2 answers
243 views

I am using the Notification control to alert our users that are logged into our system of when we will be doing maintenance. I plan on using a simple text file (server side) that will have the contents to display. If the file has text, the notification will display it to the user. If the file is empty, then do not show the notification to the user. I have code in the "OnCallbackUpdate" sub to read the file. If the message is empty I set the notification control to visible = false. However, it still shows up on the screen. How do I make it not show when there isn't any text to display?

<telerik:RadNotification ID="RadNotification1" runat="server" LoadContentOn="EveryShow"
    ShowInterval="6000" OnCallbackUpdate="OnCallbackUpdate" Position="Center" VisibleTitlebar="False"
    AutoCloseDelay="5000" EnableRoundedCorners="True" EnableShadow="True" Skin="Office2010Black">
</telerik:RadNotification>

Protected Sub OnCallbackUpdate(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadNotificationEventArgs)
    Dim sMsg As String = ""
    Dim sr As System.IO.StreamReader = New System.IO.StreamReader("C:\temp\TextFile1.txt")
    sMsg = sr.ReadToEnd
    sr.Close()
    If Not String.IsNullOrEmpty(sMsg.Trim) Then
        RadNotification1.Text = sMsg
    Else
        RadNotification1.Visible = False
    End If
End Sub
Svetlina Anati
Telerik team
 answered on 03 Aug 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?