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

Refresh grid with radwindow close

3 Answers 175 Views
Window
This is a migrated thread and some comments may be shown as answers.
Fan
Top achievements
Rank 2
Fan asked on 22 Dec 2010, 09:54 AM
Mary Christmas every body. Help me.
I have AJAX app. with a masterpage in here I have a Radajaxmanager, a default.aspx in this I load different usercontrols dynamic. In one of these usercontrols I have a grid with a list of data, where it is possible to open a radwindow. In this window user can do some update of data and when user close this window I want to refresh the grid. I have readed all possible information about the AJAX wai to do this, but nothing happent. Can anyone help me?

Here is the code.

user control who hold the grid:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="AktivitetsListe.ascx.vb" Inherits="emtepv3_5.WEB.UC.AktivitetsListe" %>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
    function myUserControlClickHandler() {
        $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("content");
    }
    function ShowEditForm(id, rowIndex, tp) {
        var grid = $find("<%= RadGrid_AKtivitetsListe.ClientID %>");
  
        var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element();
        grid.get_masterTableView().selectItem(rowControl, true);
  
       if (tp == "copy")
       {
           WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsCopy.aspx?AktID=" + id, "eMTEP-DK - Aktivitetsdetaljer");
           return false;
        }
           else 
           {
               WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=" + id, "eMTEP-DK - Aktivitetsdetaljer");
               return false;
           }
    }
    function ShowInsertForm() {
        WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=0", "eMTEP-DK - Aktivitetsdetaljer");  
        return false;
    }
    function refreshGrid(arg) {
        if (!arg) {
            $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("Rebind");
        }
        else {
            $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("RebindAndNavigate");
        }
    }
    function RowDblClick(sender, eventArgs) {
        WindowOpen(1000, 600, "../UI/AktDetaljer/AktivitetsDetaljer.aspx?AktID=" + eventArgs.getDataKeyValue("AktivitetsID"), "eMTEP-DK - Aktivitetsdetaljer");
    }
    function WindowOpen(Width, Height, Url, HeaderText) {
        var oWin = window.radopen(Url, HeaderText);
        oWin.set_title(HeaderText);  
        oWin.setSize(Width, Height);
        oWin.MoveTo(10, 100);
        oWin.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close);
        oWin.set_visibleStatusbar(false);
       // oWin.add_close(OnClientClose);      
       return false;
   }
  // function OnClientClose(sender, eventArgs) {
   //    $find("<%=RadGrid_AKtivitetsListe.ClientID %>").get_masterTableView().rebind();
  // }
  
   </script>
</telerik:RadScriptBlock>
<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server">
   <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadAjaxManagerProxy1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadGrid_AKtivitetsListe" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="RadGrid_AKtivitetsListe">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadGrid_AKtivitetsListe" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
</telerik:RadAjaxManagerProxy
  
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" 
    Skin="Office2007" BackgroundPosition="Center">
</telerik:RadAjaxLoadingPanel>
<br />
<telerik:RadGrid ID="RadGrid_AKtivitetsListe" runat="server" Skin="Office2007" 
    AutoGenerateColumns="False" GridLines="None" Height="600px">
<MasterTableView DataKeyNames="AktivitetsID" ClientDataKeyNames="AktivitetsID" CommandItemDisplay="Top">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
    <Columns>
       <telerik:GridImageColumn DataType="System.String" 
            DataImageUrlFields="AktivitetsStatusUrl"  DataImageUrlFormatString="~/images/{0}" 
        ImageAlign="Middle" UniqueName="AktStatusCol"
           <HeaderStyle Width="40px" />
        </telerik:GridImageColumn>
        <telerik:GridBoundColumn DataField="AktivitetsPeriode" UniqueName="AktivitetsPeriode">
        </telerik:GridBoundColumn>
         <telerik:GridBoundColumn DataField="AktivitetsNavn" UniqueName="AktivitetsNavn">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="AktivitetsSted" UniqueName="AktivitetsSted">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="AktivitesRegNr" UniqueName="AktivitesRegNr">
        </telerik:GridBoundColumn>
         <telerik:GridTemplateColumn UniqueName="EditCol">
            <ItemTemplate>
               <asp:ImageButton ID="ImgEdit" runat="server" />  
            </ItemTemplate
        </telerik:GridTemplateColumn>
         <telerik:GridTemplateColumn UniqueName="CopyCol">
            <ItemTemplate>
               <asp:ImageButton ID="ImgCopy" runat="server" />
            </ItemTemplate
        </telerik:GridTemplateColumn>
        <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" 
            Text="Delete" UniqueName="DeleteCol">
        </telerik:GridButtonColumn>
      </Columns>
      <CommandItemTemplate>
                          <telerik:RadButton ID="RadButtonAddNew" runat="server" Skin="Office2007"></telerik:RadButton>    
      </CommandItemTemplate>
</MasterTableView>
            <ClientSettings>
                <Selecting AllowRowSelect="true" />
                <ClientEvents OnRowDblClick="RowDblClick" />
                <Scrolling AllowScroll="True" UseStaticHeaders="True" />
            </ClientSettings>
  
<HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Office2007"></HeaderContextMenu>
</telerik:RadGrid>
  
 <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
            <Windows>
                <telerik:RadWindow ID="AktDetaljerWindow" runat="server" Title="eMTEP-DK" Height="320px"
                    Width="510px" Left="350px" ReloadOnShow="true" ShowContentDuringLoad="false"
                    Modal="true" />
            </Windows>
        </telerik:RadWindowManager>

The codebehind:
Imports emtepv3_CodeTier.BL
Imports Telerik.Web.UI
Imports emtepv3_5.WEB.CL
Namespace UC
    Public Class AktivitetsListe
        Inherits clsHandle
        Private DateFra As DateTime
        Private DateTil As DateTime
        Private SObj As String
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
            Dim manager As RadAjaxManager = RadAjaxManager.GetCurrent(Page)
            AddHandler manager.AjaxRequest, AddressOf manager_AjaxRequest
        End Sub
        Protected Sub manager_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs)
            'handle the manager AjaxRequest event here
            RadGrid_AKtivitetsListe.Rebind()
        End Sub
        Protected Sub Page_OnPassData(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.OnPassData
            'siden åbnes og data overføres
            'DateFra = 
            FraDato = Me.DatoFra
            'DateTil =
            TilDato = Me.DatoTil
            ' SObj =
            SoegTxt = Me.SearchObj
        End Sub
        Protected Sub RadGrid_AKtivitetsListe_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid_AKtivitetsListe.NeedDataSource
            'grid fyldes med data
            Dim gd As New GrundData
            gd.GrundDataDatoFra = FraDato
            gd.GrundDataDatoTil = TilDato
  
            MsgBox(FraDato)
  
            Dim br As New Bruger
            br.BrugerFiinAdresse = br.LogonBruger
            br.BrugerByFiinAdress()
  
            Dim akt As New Aktiviteter
            If SoegTxt = "ALL" Then
                akt.AktiviteterSelectByBrugerID(br, gd)
            Else
                Dim st As New SearchText
                st.SoegeTekst = SoegTxt
                akt.AktiviteterSelectByBrugerObjekter(gd, st, br)
            End If
            Dim culist As List(Of Aktiviteter) = akt.AktivitetsCollection
  
            StandardTexter.LoadGridTexter(RadGrid_AKtivitetsListe)
  
            RadGrid_AKtivitetsListe.DataSource = culist
        End Sub
        Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid_AKtivitetsListe.ItemCreated
            'aktioner når grid dannes
            If TypeOf e.Item Is GridHeaderItem Then
                Dim header As GridHeaderItem = CType(e.Item, GridHeaderItem)
                header("AktivitetsPeriode").Text = StandardTexter.SetFaellesTexter("Periode")
                header("AktivitetsNavn").Text = StandardTexter.SetFaellesTexter("Navn")
                header("AktivitetsSted").Text = StandardTexter.SetFaellesTexter("Sted")
                header("AktivitesRegNr").Text = StandardTexter.SetFaellesTexter("RegNr")
            End If
            'afhængig af hvilket menupunkt siden kaldes fra vises forskellige kontroller i gridet
            If TypeOf e.Item Is GridDataItem Then
                Dim ImgEd As ImageButton = DirectCast(e.Item.FindControl("ImgEdit"), ImageButton)
                ImgEd.ImageUrl = "~/images/Edit.gif"
                ImgEd.Attributes("onclick") = [String].Format("return ShowEditForm('{0}','{1}', 'Akt');", e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("AktivitetsID"), e.Item.ItemIndex)
                Dim ImgCopy As ImageButton = DirectCast(e.Item.FindControl("ImgCopy"), ImageButton)
                ImgCopy.ImageUrl = "~/images/Copy.gif"
                ImgCopy.Attributes("onclick") = [String].Format("return ShowEditForm('{0}','{1}', 'copy');", e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("AktivitetsID"), e.Item.ItemIndex)
            End If
  
            If TypeOf e.Item Is GridCommandItem Then
                'tilføj ny post knap får funktioner
                Dim RadImgBtn As RadButton = DirectCast(e.Item.FindControl("RadButtonAddNew"), RadButton)
                RadImgBtn.Text = StandardTexter.SetGridHeaderText("RadGrid_AddNewText")
                RadImgBtn.Icon.PrimaryIconUrl = "~/images/AddRecord.gif"
                RadImgBtn.Attributes("onclick") = [String].Format("return ShowInsertForm();")
            End If
        End Sub
        Private Property FraDato() As DateTime
            Get
                Return CDate(ViewState("FraDato"))
            End Get
            Set(ByVal value As DateTime)
                ViewState("FraDato") = value
            End Set
        End Property
        Private Property TilDato() As DateTime
            Get
                Return CDate(ViewState("TilDato"))
            End Get
            Set(ByVal value As DateTime)
                ViewState("TilDato") = value
            End Set
        End Property
        Private Property SoegTxt() As String
            Get
                Return CStr(ViewState("SoegTxt"))
            End Get
            Set(ByVal value As String)
                ViewState("SoegTxt") = value
            End Set
        End Property
    End Class
End Namespace

The aspx in the radwindow:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AktivitetsDetaljer.aspx.vb" Inherits="emtepv3_5.WEB.UI.AktivitetsDetaljer" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<head runat="server">
    <title></title>
    <link href="../../emtepStyle.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div align="right">
        <asp:ImageButton ID="ImgBtnClose" runat="server" ImageUrl="~/images/Stop.gif" />
    </div>
   <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
    <script type="text/javascript">
            function onTabSelecting(sender, args) {
            if (args.get_tab().get_pageViewID()) {
                args.get_tab().set_postBack(false);
            }
        }
        function CloseAndRebind(args) {
           GetRadWindow().BrowserWindow.refreshGrid(args);
            GetRadWindow().close();
        }
  
        function GetRadWindow() {
            var oWindow = null;
            if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog
            else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well)
  
            return oWindow;
        }
        </script>
        </telerik:RadScriptBlock>
        <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
        </telerik:RadScriptManager>
          
        <telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" 
        Skin="Office2007" />
          
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
           <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadTabStripAktivitet">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadTabStripAktivitet" />
                        <telerik:AjaxUpdatedControl ControlID="RadMultiPageAktivitet" LoadingPanelID="LoadingPanel1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="RadMultiPageAktivitet">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadMultiPageAktivitet" LoadingPanelID="LoadingPanel1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings
        </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" 
        Skin="Office2007" BackgroundPosition="Center">
    </telerik:RadAjaxLoadingPanel>
    <telerik:RadTabStrip ID="RadTabStripAktivitet" runat="server" Skin="Office2007" OnClientTabSelecting="onTabSelecting" 
        MultiPageID="RadMultiPageAktivitet" SelectedIndex="0">
    </telerik:RadTabStrip>
    <telerik:RadMultiPage ID="RadMultiPageAktivitet" Runat="server" SelectedIndex="0" CssClass="AktDetaljeTabSiden">
    </telerik:RadMultiPage>
    </form>
</body>
</html>
The code to this page:
Imports emtepv3_5.WEB.CL
Imports emtepv3_CodeTier.BL
Imports Telerik.Web.UI
Namespace UI
    Public Class AktivitetsDetaljer
        Inherits System.Web.UI.Page
        Dim IsNewPageView As Boolean = False
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Me.Page.IsPostBack Then
                BindRadTab()
                If CInt(Request("AktID")) <> 0 Then
                    Select Case StandardTexter.BrugerLanguage
                        Case "DA"
                            AddPageView(RadTabStripAktivitet.FindTabByText("Grunddata"))
                        Case "EN"
                            AddPageView(RadTabStripAktivitet.FindTabByText("Maindata"))
                    End Select
                Else
                    Select Case StandardTexter.BrugerLanguage
                        Case "DA"
                            AddPageView(RadTabStripAktivitet.FindTabByText("Opret ny aktivitet"))
                        Case "EN"
                            AddPageView(RadTabStripAktivitet.FindTabByText("Add new activity"))
                    End Select
                End If
            End If
        End Sub
        Protected Sub BindRadTab()
            Dim St As New SearchText
            If CInt(Request("AktID")) = 0 Then
                St.SoegeTekst = 0
            Else
                Dim gd As New GrundData
                gd.GrundDataID = Request("AktID")
                gd.GrundDataById()
                Dim Sgtxt As String = gd.GrundDataAktArt & ","
                Sgtxt = Sgtxt & "1"
                St.SoegeTekst = Sgtxt
            End If
  
            Dim akttab As New AktivitetsDetaljeTab
            akttab.AktDetaljeTabGetByAktType(St)
            Dim cuList As List(Of AktivitetsDetaljeTab) = akttab.AktDetaljeTabCollection
  
            RadTabStripAktivitet.DataFieldID = "AktDetaljeTabID"
            Select Case StandardTexter.BrugerLanguage
                Case "DA"
                    RadTabStripAktivitet.DataTextField = "AktDetaljeTabTekstDA"
                Case "EN"
                    RadTabStripAktivitet.DataTextField = "AktDetaljeTabTekstEN"
            End Select
  
            RadTabStripAktivitet.DataSource = cuList
            RadTabStripAktivitet.DataBind()
  
        End Sub
        Private Sub AddPageView(ByVal tab As RadTab)
            Dim pageView As RadPageView = New RadPageView
            pageView.ID = tab.Text
            RadMultiPageAktivitet.PageViews.Add(pageView)
            tab.PageViewID = pageView.ID
        End Sub
  
        Protected Sub RadTabStrip1_TabClick(ByVal sender As Object, ByVal e As RadTabStripEventArgs) Handles RadTabStripAktivitet.TabClick
            AddPageView(e.Tab)
            e.Tab.PageView.Selected = True
        End Sub
        Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMultiPageEventArgs) Handles RadMultiPageAktivitet.PageViewCreated
            Dim adt As New AktivitetsDetaljeTab
            adt.AktDetaljeTabTekstDA = e.PageView.ID
            adt.AktDetaljeTabGetPageName()
  
            Dim userControlName As String = "~/UC/AktFaner/" + adt.AktDetaljeTabPage + ".ascx"
            Dim userControl As Control = Page.LoadControl(userControlName)
            userControl.ID = e.PageView.ID & "_Grunddata"
            e.PageView.Controls.Add(userControl)
        End Sub
        Protected Sub ImgBtnClose_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgBtnClose.Click
            ClientScript.RegisterStartupScript(Page.[GetType](), "mykey", "CloseAndRebind();", True)
        End Sub
    End Class
End Namespace

3 Answers, 1 is accepted

Sort by
0
Georgi Tunev
Telerik team
answered on 23 Dec 2010, 02:12 PM
Hi Fan,

In your code you have set the RadAjaxManager proxy to update the grid. For the logic to work however, you need to set the RadAjaxManager control to do that. To do this, you need to programatically set (in Page_Load or Page_Prerender):
RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(RadAjaxManager.GetCurrent(Page), RadGrid_AKtivitetsListe)

I hope this helps.


Best wishes,
Georgi Tunev
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.
0
Fan
Top achievements
Rank 2
answered on 03 Jan 2011, 03:36 PM
Thank you Georgi and HAPPY NEWYEAR

It don't work. The only way I can get it to work is by activating the client onclose script.
I have a radajaxmanager in my masterpage and I load the usercontrol from af default.aspx page, what do I wrong?
Here is my MasterPage, Default.aspx

<%@ Master Language="VB" AutoEventWireup="true" CodeBehind="emtepv3Master.master.vb" Inherits="emtepv3_5.WEB.UI.emtepv3Master" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<%@ Register src="UC/Header.ascx" tagname="Header" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<head runat="server">
    <title></title>
    <link href="~/emtepStyle.css" rel="stylesheet" type="text/css" />
 </head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManagerMaster" Runat="server">
        </telerik:RadScriptManager>
        <telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" 
    Skin="Office2007" DecoratedControls="All"  />
  
            <table id="MasterTable" class="MasterTable" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="MasterTopBjaelke">
                        <!-- Topbjælke begynder -->
                        <uc1:Header ID="Header1" runat="server" />
                        <asp:Panel ID="Panel1" runat="server" CssClass="MasterTopPanel">
                            <asp:ContentPlaceHolder ID="ContentPlaceHolderMasterTop" runat="server">
                            </asp:ContentPlaceHolder>
                        </asp:Panel>
                        <asp:ContentPlaceHolder ID="ContentPlaceHolderMaster" runat="server">
                        </asp:ContentPlaceHolder>   
                    </td>
                        <!-- Topbjælke slutter -->
                </tr>
                <tr>
                    <td valign="top">
                        <!-- Aktionsbjælke begynder -->
                          
                        <!-- Aktionsbjælke slutter -->
                          
                      </td>
                </tr>
                <tr>
                    <td class="MasterMainPanel">
                        <!-- Hovedindholds rammen -->
                          
                    </td>
                </tr>
            </table>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" >
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" 
        Skin="Office2007" BackgroundPosition="Center">
    </telerik:RadAjaxLoadingPanel>
    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" 
        Skin="Office2007">
    </telerik:RadWindowManager>
    </form>
</body>
</html>

Default.aspx
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/emtepv3Master.Master" CodeBehind="Default.aspx.vb" Inherits="emtepv3_5.WEB._Default" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<asp:Content ID="ContentDefault" ContentPlaceHolderID="ContentPlaceHolderMasterTop" runat="server">
      <asp:Label ID="LblTest" runat="server"></asp:Label>  
      <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function myUserControlClickHandler() {
                $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>").ajaxRequest("content");
            }
         </script>
    </telerik:RadCodeBlock>
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" 
          LoadingPanelID="RadAjaxLoadingPanel1" Width="100%" HorizontalAlign="NotSet">
            <asp:Panel ID="PanelMenu" runat="server"></asp:Panel>  
            <asp:Panel ID="Panel2" runat="server">
            </asp:Panel>
            <asp:Panel ID="PanelMain" runat="server" CssClass="PanelMain"></asp:Panel>  
    </telerik:RadAjaxPanel>
     <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Runat="server" BackgroundPosition="Center" Skin="Office2007">
      </telerik:RadAjaxLoadingPanel>
    </asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderMaster" runat="server">
    <asp:Label ID="Lbl_DefaultPGV" runat="server" Visible="False"></asp:Label>
 </asp:Content>

Imports emtepv3_CodeTier.BL
Imports telerik.web.ui
Partial Public Class _Default
    Inherits System.Web.UI.Page
    Private Function Content(ByVal id As String)
        Return Page.Master.FindControl(id)
    End Function
    Private RadDatePickerFrom As RadDatePicker
    Private RadDatePickerTo As RadDatePicker
    Private RadComboBoxTopPanel As RadComboBox
    Private GrundDataDatoFra As DateTime
    Private GrunddataDatoTil As DateTime
    Private GrundDataObjekt As Label
    Private SearchObjekt As String
  
    Protected Sub Page_Ini(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        LoadMenu()
    End Sub
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not (LatestLoadedControlName Is Nothing) Then
            LoadUserControl(LatestLoadedControlName, "")
        End If
        If Not (LatestLoadedControl_2Name Is Nothing) Then
            LoadUserControl_2(LatestLoadedControl_2Name, "")
        End If
        If Not (LatestLoadedMainControl Is Nothing) Then
            LoadMainControl(LatestLoadedMainControl, Lbl_DefaultPGV.Text)
        End If
    End Sub
    Protected Sub LoadTopPanel_1(ByVal PGV As Integer)
        PanelMenu.Controls.Clear()
        LatestLoadedControl_2Name = Nothing
        Panel2.Controls.Clear()
        LatestLoadedControlName = Nothing
        PanelMain.Controls.Clear()
        Dim tptxt As New TopPanelIndhold
        tptxt.TopPanelID = PGV
        tptxt.TopPanelGetByID()
        LoadUserControl(tptxt.TopPanel_1, PGV)
        LoadMainControl("~/UC/Blank.ascx", 0)
    End Sub
    Protected Sub LoadTopPanel_2(ByVal Myn As String)
        PanelMenu.Controls.Clear()
        Panel2.Controls.Clear()
        LatestLoadedControlName = Nothing
        PanelMain.Controls.Clear()
        Dim tptxt As New TopPanelIndhold
        tptxt.TopPanelID = CInt(Lbl_DefaultPGV.Text)
        tptxt.TopPanelGetByID()
        LoadUserControl_2(tptxt.TopPanel_2, Myn)
        LoadMainControl("~/UC/Blank.ascx", 0)
    End Sub
    Protected Sub LoadMainPage(ByVal PageID As Integer)
        PanelMain.Controls.Clear()
        LatestLoadedMainControl = Nothing
        Dim tptxt As New TopPanelIndhold
        tptxt.TopPanelID = CInt(Lbl_DefaultPGV.Text)
        tptxt.TopPanelGetByID()
        LoadMainControl(tptxt.TopPanel_MasterPage, PageID)
    End Sub
    Protected Sub LoadMenu()
        If Lbl_DefaultPGV.Text = "" Then
            Lbl_DefaultPGV.Text = 1
            Dim tptxt As New TopPanelIndhold
            tptxt.TopPanelID = CInt(Lbl_DefaultPGV.Text)
            tptxt.TopPanelGetByID()
            LatestLoadedMainControl = tptxt.TopPanel_MasterPage
        End If
        Dim rm As RadMenu = DirectCast(Page.Master.FindControl("Header1").FindControl("RadMenuHeader"), RadMenu)
        AddHandler rm.ItemClick, AddressOf MenuClick
    End Sub
    Public Sub LoadUserControl(ByVal controlName As String, ByVal Val As String)
        If Not (LatestLoadedControlName Is Nothing) Then
            Dim previousControl As Control = Panel2.FindControl(LatestLoadedControlName.Split("."c)(0))
            If Not (previousControl Is Nothing) Then
                Me.Panel2.Controls.Remove(previousControl)
            End If
        End If
        Dim userControlID As String = controlName.Split("."c)(0)
        Dim targetControl As Control = Panel2.FindControl(userControlID)
        If targetControl Is Nothing Then
            Dim userControl As UserControl = CType(Me.LoadControl(controlName), UserControl)
            'slashes and tildes are forbidden
            userControl.ID = userControlID.Replace("/", "").Replace("~", "")
            Me.Panel2.Controls.Add(userControl)
            If controlName = "~/UC/TopPanel_1.ascx" Then
                Dim rtv As RadTreeView = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadTreeView_TopPanel_1Struktur"), RadTreeView)
                AddHandler rtv.NodeClick, AddressOf TreeClick
                'ElseIf controlName = "~/UC/TopPanel_2.ascx" Then
                '    Dim GoButton As Button = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("Btn_TopPanel2GO"), Button)
                '    AddHandler GoButton.Command, AddressOf GoButton_Click
                '    Dim LnkButton As LinkButton = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("LnkBtn_ChangeUnit"), LinkButton)
                '    AddHandler LnkButton.Click, AddressOf LnkBtnChangeUnit_Click
                '    RadDatePickerFrom = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadDatePicker_TopPanel_2FromDate"), RadDatePicker)
                '    RadDatePickerTo = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadDatePickerTopPanel_2ToDate"), RadDatePicker)
                '    RadComboBoxTopPanel = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadComboBox_TopPanel_2"), RadComboBox)
                '    GrundDataObjekt = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("Lbl_SearchUnitNumber"), Label)
                '    CType(userControl, clsHandle).MoveText(Val, CInt(Lbl_DefaultPGV.Text))
            ElseIf controlName = "~/UC/TopPanel_3.ascx" Then
                Dim MenuTreeView As RadTreeView = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadTreeView_VedligeholdTopPanel"), RadTreeView)
                AddHandler MenuTreeView.NodeClick, AddressOf MenuTreeClick
            End If
            LatestLoadedControlName = controlName
        End If
    End Sub 'LoadUserControl
    Public Sub LoadUserControl_2(ByVal controlName As String, ByVal Val As String)
        If Not (LatestLoadedControl_2Name Is Nothing) Then
            Dim previousControl As Control = PanelMenu.FindControl(LatestLoadedControl_2Name.Split("."c)(0))
            If Not (previousControl Is Nothing) Then
                Me.PanelMenu.Controls.Remove(previousControl)
            End If
        End If
        Dim userControlID As String = controlName.Split("."c)(0)
        Dim targetControl As Control = PanelMenu.FindControl(userControlID)
        If targetControl Is Nothing Then
            Dim userControl As UserControl = CType(Me.LoadControl(controlName), UserControl)
            'slashes and tildes are forbidden
            userControl.ID = userControlID.Replace("/", "").Replace("~", "")
            Me.PanelMenu.Controls.Add(userControl)
            Dim GoButton As Button = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("Btn_TopPanel2GO"), Button)
                AddHandler GoButton.Command, AddressOf GoButton_Click
                Dim LnkButton As LinkButton = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("LnkBtn_ChangeUnit"), LinkButton)
                AddHandler LnkButton.Click, AddressOf LnkBtnChangeUnit_Click
                RadDatePickerFrom = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadDatePicker_TopPanel_2FromDate"), RadDatePicker)
                RadDatePickerTo = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadDatePickerTopPanel_2ToDate"), RadDatePicker)
                RadComboBoxTopPanel = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadComboBox_TopPanel_2"), RadComboBox)
                GrundDataObjekt = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("Lbl_SearchUnitNumber"), Label)
                CType(userControl, clsHandle).MoveText(Val, CInt(Lbl_DefaultPGV.Text))
            LatestLoadedControl_2Name = controlName
        End If
    End Sub 'LoadUserControl
    Protected Sub MenuLoad(ByVal MenuName As String)
        If Not (MenuLoaded Is Nothing) Then
            Dim PreviousMenu As Control = PanelMenu.FindControl(MenuLoaded.Split("."c)(0))
            If Not (PreviousMenu Is Nothing) Then
                Me.PanelMenu.Controls.Remove(PreviousMenu)
            End If
        End If
        Dim MenuControlID As String = MenuName.Split("."c)(0)
        Dim TargetControl As Control = PanelMenu.FindControl(MenuControlID)
        If TargetControl Is Nothing Then
            Dim UC As UserControl = CType(Me.LoadControl(MenuName), UserControl)
            UC.ID = MenuControlID.Replace("/", "").Replace("~", "")
            Me.PanelMenu.Controls.Add(UC)
            MenuLoaded = MenuName
        End If
    End Sub
    Public Sub LoadMainControl(ByVal ctlName As String, ByVal PageID As Integer)
        If Not (LatestLoadedMainControl Is Nothing) Then
            Dim previousControl As Control = PanelMain.FindControl(LatestLoadedMainControl.Split("."c)(0))
            If Not (previousControl Is Nothing) Then
                Me.PanelMain.Controls.Remove(previousControl)
            End If
        End If
        Dim userCtlID As String = ctlName.Split("."c)(0)
        Dim targetControl As Control = PanelMain.FindControl(userCtlID)
        If targetControl Is Nothing Then
            Dim userControl As UserControl = CType(Me.LoadControl(ctlName), UserControl)
            'slashes and tildes are forbidden
            userControl.ID = userCtlID.Replace("/", "").Replace("~", "")
            LatestLoadedMainControl = ctlName
            Select Case ctlName
                Case "~/UC/BrugerDefSoegVedligehold.ascx"
                    Me.PanelMain.Controls.Add(userControl)
                    Dim RadGridBrugerDefSoeg As RadGrid = DirectCast(Page.Master.FindControl("ContentPlaceHolderMasterTop").FindControl(userControl.ID).FindControl("RadGrid_BrugerDefVedligehold"), RadGrid)
                    AddHandler RadGridBrugerDefSoeg.InsertCommand, AddressOf RadGrid_Command
                    AddHandler RadGridBrugerDefSoeg.UpdateCommand, AddressOf RadGrid_Command
                    AddHandler RadGridBrugerDefSoeg.DeleteCommand, AddressOf RadGrid_Command
                    CType(userControl, clsHandle).MoveID(PageID)
  
                Case "~/UC/AktivitetsListe.ascx"
                    'CType(userControl, clsHandle).PassData(SearchObjekt, GrundDataDatoFra, GrunddataDatoTil)
                    Me.PanelMain.Controls.Add(userControl)
  
                Case "~/UC/KalenderSystem.ascx"
                    CType(userControl, clsHandle).PassData(SearchObjekt, GrundDataDatoFra, GrunddataDatoTil)
                    Me.PanelMain.Controls.Add(userControl)
  
                Case Else
                    CType(userControl, clsHandle).MoveID(PageID)
                    Me.PanelMain.Controls.Add(userControl)
            End Select
        End If
    End Sub 'LoadMainControl
    Private Property LatestLoadedMainControl() As String
        Get
            Return CStr(ViewState("LatestLoadedMainControl"))
        End Get
        Set(ByVal value As String)
            ViewState("LatestLoadedMainControl") = value
        End Set
    End Property
    Private Property LatestLoadedControlName() As String
        Get
            Return CStr(ViewState("LatestLoadedControlName"))
        End Get
        Set(ByVal value As String)
            ViewState("LatestLoadedControlName") = value
        End Set
    End Property
    Private Property LatestLoadedControl_2Name() As String
        Get
            Return CStr(ViewState("LatestLoadedControl_2Name"))
        End Get
        Set(ByVal value As String)
            ViewState("LatestLoadedControl_2Name") = value
        End Set
    End Property
    Private Property MenuLoaded() As String
        Get
            Return CStr(ViewState("MenuLoadedName"))
        End Get
        Set(ByVal value As String)
            ViewState("MenuLoadedName") = value
        End Set
    End Property
    Protected Sub MenuClick(ByVal sender As System.Object, ByVal e As Telerik.Web.UI.RadMenuEventArgs)
        MenuClickIndhold(e.Item.Value)
    End Sub
    Protected Sub MenuClickIndhold(ByVal MnVal As Integer)
        Dim toppnl As New TopPanelIndhold
        toppnl.TopPanelID = MnVal
        toppnl.TopPanelGetByID()
        Lbl_DefaultPGV.Text = toppnl.TopPanelID
        If toppnl.TopPanelID = -1 Then
            Lbl_DefaultPGV.Text = 1
            Panel2.Controls.Clear()
            LoadMainPage(1)
        Else
            If toppnl.TopPanel_1 = "Tom" Then
                If toppnl.TopPanel_2 = "Tom" Then
                    PanelMenu.Controls.Clear()
                    Panel2.Controls.Clear()
                    LatestLoadedControl_2Name = Nothing
                    LatestLoadedControlName = Nothing
                    LoadMainPage(MnVal)
                Else
                    'Panel2.Controls.Clear()
                    '  LatestLoadedControlName = Nothing
                    LoadTopPanel_2(MnVal)
                End If
            Else
                LoadTopPanel_1(MnVal)
            End If
        End If
    End Sub
    Protected Sub TreeClick(ByVal sender As System.Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs)
        Session("Objekt") = Nothing
        UpdateBrugerProfil(e.Node.Value)
        Panel2.Controls.Clear()
        LoadTopPanel_2(e.Node.Value)
    End Sub
    Protected Sub GoButton_Click(ByVal sender As Object, ByVal e As CommandEventArgs)
        'aktionen når der trykkes på ufør knappen i toppanel 2
  
        Dim br As New Bruger
        br.BrugerFiinAdresse = br.LogonBruger
        br.BrugerByFiinAdress()
  
        br.BrugerSoegStart = RadDatePickerFrom.SelectedDate
        br.BrugerSoegSlut = RadDatePickerTo.SelectedDate
  
  
        GrundDataDatoFra = RadDatePickerFrom.SelectedDate
        GrunddataDatoTil = RadDatePickerTo.SelectedDate
  
  
  
        SearchObjekt = Nothing
          
        Dim chkSelectAll As CheckBox = DirectCast(RadComboBoxTopPanel.Header.FindControl("RadComboBox_TopPanel2Chkb_SelectAll"), CheckBox)
        Dim CheckedItems As String
        If chkSelectAll.Checked Then
            CheckedItems = "ALL"
        Else
            For Each item As RadComboBoxItem In RadComboBoxTopPanel.Items
                Dim chk As CheckBox = DirectCast(item.FindControl("RadComboBox_TopPanel2Chkb"), CheckBox)
                If chk.Checked Then
                    CheckedItems = CheckedItems + item.Value + ","
                End If
            Next
        End If
  
        If Not CheckedItems = "" Then
            SearchObjekt = CheckedItems.Trim().TrimEnd(","c)
        End If
        br.BrugerLastSoegObjekt = GrundDataObjekt.Text
        br.BrugerLastSoegTxt = SearchObjekt
        br.BrugerLastSoegPageID = CInt(Lbl_DefaultPGV.Text)
        br.BrugerUpdate()
        LoadMainPage(CInt(Lbl_DefaultPGV.Text))
    End Sub
    Protected Sub MenuTreeClick(ByVal sender As System.Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs)
        'Dim toppnl As New TopPanelIndhold
        'toppnl.TopPanelID = CInt(Lbl_DefaultPGV.Text)
        'toppnl.TopPanelGetByID()
        'If Trim(toppnl.TopPanel_2) = "Tom" Then
        '    LoadMainPage(e.Node.Value)
        'Else
        '    LoadTopPanel_2(e.Node.Value)
        'End If
    End Sub
    Protected Sub UpdateBrugerProfil(ByVal LObjekt As String)
        Dim br As New Bruger
        br.BrugerFiinAdresse = br.LogonBruger
        br.BrugerByFiinAdress()
        br.BrugerLastSoegObjekt = LObjekt
        br.BrugerUpdate()
    End Sub
    Protected Sub LnkBtnChangeUnit_Click(ByVal sender As System.Object, ByVal e As EventArgs)
        Select Case CInt(Lbl_DefaultPGV.Text)
            Case 7
                LoadMainPage(CInt(Lbl_DefaultPGV.Text))
            Case 8
                LoadTopPanel_1(CInt(Lbl_DefaultPGV.Text))
            Case 55
                LoadTopPanel_1(CInt(Lbl_DefaultPGV.Text))
        End Select
    End Sub
    Protected Sub RadGrid_Command(ByVal source As Object, ByVal e As GridCommandEventArgs)
        Dim br As New Bruger
        br.BrugerFiinAdresse = br.LogonBruger
        br.BrugerByFiinAdress()
        Dim brs As New BrugerDefSoeg
        brs.BrugerDefBrugerID = br.BrugerID
  
        brs.BrugerDefSoegGetByBrugerID(br)
        Dim culist As List(Of BrugerDefSoeg) = brs.BrugerDefCollection
        RadComboBoxTopPanel.DataSource = culist
        RadComboBoxTopPanel.DataValueField = "BrugerDefID"
        RadComboBoxTopPanel.DataTextField = "BrugerDefSoegNavn"
        RadComboBoxTopPanel.DataBind()
    End Sub
End Class



0
Georgi Tunev
Telerik team
answered on 04 Jan 2011, 02:04 PM
Hello Fan,

I was not able to run your code so at this point I cannot tell what the reason for the problem is. Please isolate the problem in a separate, runnable project (this blog post will help you in this task) and send it to us in a support ticket. There is no need to send us your real database - you can use one of the fake ones linked in the blog.
Once we receive that project, we will check it and get back to you right away.


Regards,
Georgi Tunev
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
Window
Asked by
Fan
Top achievements
Rank 2
Answers by
Georgi Tunev
Telerik team
Fan
Top achievements
Rank 2
Share this question
or