Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
143 views
hi. going through the white papers trying to figure out how to get my grid to load as edit mode, allow me update several rows, and then select one button to update them all. I went through a combination of Batch update, but that one is silly as it still wants you to select the rows you want to edit, (http://www.telerik.com/help/aspnet-ajax/grdperformingbatchupdates.html) and  default edti mode on load (http://www.telerik.com/help/aspnet/grid/grddefaulteditmodeforgriditemsoninitialload.html) which is close but still wants you to click update on every row. I managed to get the grid to load into edit mode when paging but cannot get the itemcommand to recognize new data after the first page. The first page updates exactly as expected. My requirements are to stay load into and stay in edit mode, page through items and update on other pages all with the same single button.
Code  and Souce
Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs)  
        If (e.CommandName = "UpdateAll") Then  
            For Each editedItem As GridEditableItem In RadGrid1.EditItems  
                Dim newValues As Hashtable = New Hashtable  
                'The GridTableView will fill the values from all editable columns in the hash  
                e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem)  
                If newValues("Balance") IsNot Nothing Then  'WITHOUT THIS THE WHERE CLAUSE FAILS EACH TIME ON NEW PAGES.
                    SqlDataSource1.UpdateCommand = String.Format("Update Account SET Balance= {0} WHERE ID= {1} ", newValues("Balance"), editedItem.GetDataKeyValue("ID").ToString())  
                    SqlDataSource1.Update()  
                End If  
                editedItem.Edit = True 
            Next  
        End If  
 
        multiEdit()  
        RadGrid1.Rebind()  
    End Sub  
      
    Protected Sub RadGrid1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.DataBound  
        If IsPostBack Then  
            multiEdit()  
        End If  
    End Sub  
      
    Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender  
        If Not IsPostBack Then  
            multiEdit()  
            RadGrid1.Rebind()  
        End If  
 
    End Sub  
 
    Sub multiEdit()  
 
        For Each item As GridItem In RadGrid1.MasterTableView.Items  
            If TypeOf item Is GridEditableItem Then  
                Dim editableItem As GridEditableItem = CType(item, GridDataItem)  
                editableItem.Edit = True 
            End If  
        Next  
 
    End Sub 

Source
 
<asp:SqlDataSource ID="SqlDataSource1" runat="server"   
ConnectionString="<%$ ConnectionStrings:PHCJobPostsConn %>"   
SelectCommand="SELECT * FROM [Account]"   
</asp:SqlDataSource> 
<telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowEdit="True" DataSourceID="SqlDataSource1" 
               OnItemCommand="RadGrid1_ItemCommand" OnItemDataBound="RadGrid1_ItemDataBound">  
               <MasterTableView   DataKeyNames="ID" AutoGenerateColumns="false" EditMode="InPlace" 
                   CommandItemDisplay="TopAndBottom">  
                <Columns> 
              
                    <telerik:GridBoundColumn ReadOnly="true" DataField="ID" DataType="System.Int32" HeaderText="ID"  SortExpression="ID" UniqueName="ID">  
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn ReadOnly="true" DataField="Name" HeaderText="Name" SortExpression="Name" UniqueName="Name">  
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn ReadOnly="true" DataField="AccountNo" HeaderText="AccountNo" SortExpression="AccountNo" UniqueName="AccountNo">  
            </telerik:GridBoundColumn> 
                <telerik:GridTemplateColumn> 
            <ItemTemplate> 
            <%#Eval("Balance")%> 
            </ItemTemplate> 
            <EditItemTemplate> 
            <asp:TextBox CssClass="none" ID="BalanceTB" Text='<%#Bind("Balance") %>' runat="server" /> 
            </EditItemTemplate> 
            </telerik:GridTemplateColumn> 
          
            <telerik:GridBoundColumn ReadOnly="true" DataField="InsertDate" DataType="System.DateTime" HeaderText="InsertDate" SortExpression="InsertDate" UniqueName="InsertDate">  
            </telerik:GridBoundColumn> 
              
    </Columns> 
 <CommandItemTemplate> 
    <asp:Button runat="server" ID="UpdateAll" Text="Update All" CommandName="UpdateAll" /> 
</CommandItemTemplate> 
               </MasterTableView> 
</telerik:RadGrid> 


Yavor
Telerik team
 answered on 25 Feb 2009
2 answers
212 views

I've got a big trouble with RadDock which doesn't fire event on custom command and on position changed.

I tried all the solutions described in this forum but non of them worked in my case. So I'm disappointed.

Here is my configuration :

1) I've a master page which declares scriptmanager and AjaxManager. This master page contains a place holder. Here is the aspx code :

<body>  
    <form id="form1" runat="server">  
    <div align=center>  
        <asp:ScriptManager ID="ScriptManager1" runat="server">  
        </asp:ScriptManager>  
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX=true>  
        </telerik:RadAjaxManager>  
        <telerik:RadAjaxLoadingPanel HorizontalAlign=Right ID="LoadingPanel1" runat=server Width="160px">  
            <asp:Image ID="Image1" runat="server" ImageUrl="~/admin/images/loading5.gif" style="border:0;margin-top:20px;" />  
        </telerik:RadAjaxLoadingPanel>  
        <table cellSpacing="0" cellPadding="0" style="border-collapse: collapse; clear: both; width: 100%; border: solid 1px #98b7de;">  
            <tr height=5%>  
                <td colspan=1 width="100%" align="left">  
                    <uc1:wucMenuAdmin ID="wucMenuAdmin1" runat="server" />  
                </td>  
            </tr>  
            <tr height=5%>  
                <td colspan=1 width="100%" align=center>  
                    <asp:Panel ID="panelTitre" runat=server>  
                        <table cellSpacing="0" cellPadding="0" width=100%>  
                            <tr height="50px">  
                                <td width="80%" class="formHeader" align="left" style="padding-left:10px;padding-top:10px;"   
                                    height="50px">  
                                    <asp:Label ID="lblTitrePage" runat=server></asp:Label>  
                                </td>  
                                <td width=20% class="formHeader" align="right" valign=top>  
                                    <asp:Panel ID="PanelLoading" runat=server></asp:Panel>  
                                </td>  
                            </tr>  
                        </table>  
                    </asp:Panel>  
                </td>  
            </tr>  
            <tr height=80%>  
                <td colspan=1 width="100%" valign=top align="left" style="height: 730px">  
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">  
                    </asp:ContentPlaceHolder>  
                </td>  
            </tr>  
            <tr height=5%>  
                <td colspan="1" class="petittitre" Align="right" valign="bottom">  
                    Â© Opsys- <a href="http://www.opsys.fr">www.opsys.fr</a>  
                </td>  
            </tr>  
        </table>  
    </div>  
    </form>  
</body> 

2) I've got an aspx page which uses the master page above. In this aspx page, i declared a scriptmanagerproxy, radajaxmanagerproxy, and I've got a RadDockZone. Here is a part of the aspx code :

<%@ Page MasterPageFile="~/admin/Admin.Master" AutoEventWireup="false" CodeBehind="Index.aspx.vb" Inherits="OPAC_LOCAL.IndexAdminContenu" %>  
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>  
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  
    Namespace="System.Web.UI" TagPrefix="asp" %>  
<%@ Register TagPrefix="uc1" TagName="saisieDateLimite" Src="~/admin/contenu/wucSaisieDatelimite.ascx" %>  
 
<asp:Content runat=server ContentPlaceHolderID=HeadContent>  
    <style type="text/css">  
        .EditerDockCommand  
        {  
        width: 15px;  
        background:url(../images/Edit.gif) no-repeat;  
        }  
        .SupprimerDockCommand  
        {  
        width: 15px;  
        background:url(../images/remove-16x16.png) no-repeat;  
        cursor:hand;  
        }  
        .DockRadPane  
        {  
            position:relative;  
        }  
        .RadNode  
        {  
            cursor:hand;  
        }  
    </style>  
</asp:Content>  
<asp:Content runat=server ContentPlaceHolderID=ContentPlaceHolder1>  
    <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">  
    </asp:ScriptManagerProxy>  
    <telerik:RadScriptBlock ID="RadScriptBlock1" runat=server>  
        <script language=javascript type="text/javascript">  
            function SplitterClientLoaded(sender, args) {  
                sender.get_element().style.visibility = 'inherit';  
            }  
 
            function AfficherMenuContenu(sender, args) {  
                var treeNode = args.get_node();  
                setMenuItemsState(args.get_menu().get_items(), treeNode);  
            }  
 
            function RefreshParagraphes() {  
                var ajaxManager = $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>");  
                ajaxManager.ajaxRequest("RefreshParagraphes");  
            }  
              
            function setMenuItemsState(menuItems, treeNode) {  
 
                for (var i = 0; i < menuItems.get_count(); i++) {  
                    var menuItem = menuItems.getItem(i);  
                    switch (menuItem.get_value()) {  
                        case "SupprimerPage":  
                            if (treeNode.get_category() == "page") {  
                                menuItem.set_visible(true);  
                                menuItem.set_text(String.format('Supprimer {0}', treeNode.get_text().replace(/\s*\([\d]+\)\s*/ig, "")));  
                            } else {  
                                menuItem.set_visible(false);  
                            }  
                            break;  
                        case "SupprimerRubrique":  
                            if (treeNode.get_category() == "rubrique") {  
                                menuItem.set_visible(true);  
                                menuItem.set_text(String.format('Supprimer {0}', treeNode.get_text().replace(/\s*\([\d]+\)\s*/ig, "")));  
                            } else {  
                                menuItem.set_visible(false);  
                            }  
                            break;  
                        case "AjouterPage":  
                            if (treeNode.get_category() == "rubrique") {  
                                menuItem.set_visible(true);  
                            } else {  
                                menuItem.set_visible(false);  
                            }  
                            break;  
                        case "AjouterRubrique":  
                            if (treeNode.get_category() == "rubrique") {  
                                menuItem.set_visible(true);  
                            } else {  
                                menuItem.set_visible(false);  
                            }  
                            break;  
                    }  
                }  
            }  
 
            function editerParagrapheCommand(dockableObject, command) {  
                window.radopen("EditParagraphe.aspx?ID=" + command.Command.get_name(), "EditionParagraphe");  
                return false;  
            }  
 
            function supprimerParagrapheCommand(dockableObject, command) {  
                args.set_cancel(!confirm("ConfirmSuppressionParagraphe.aspx?ID=" + command.Command.get_name(), "SuppressionParagraphe"));  
            }  
 
            function ContenuContextMenuClientItemClicking(sender, args) {  
                if (args.get_menuItem().get_value() == "SupprimerPage") {  
                    if (!confirm('Confirmez-vous la suppression de cette page ?')) {  
                        args.get_menuItem().get_menu().hide();  
                        args.set_cancel(true);  
                    }  
                }  
                else if (args.get_menuItem().get_value() == "SupprimerRubrique") {  
                    if (!confirm('Confirmez-vous la suppression de cette rubrique ?')) {  
                        args.get_menuItem().get_menu().hide();  
                        args.set_cancel(true);  
                    }  
                }  
            }  
 
            function RadToolbarPanneauGaucheClientButtonClicking(sender, args) {  
                var button = args.get_item();  
                if (button.get_commandName() == "Supprimer") {  
                    args.set_cancel(!confirm('Confirmez-vous la suppression des Ã©léments sélectionnés ?'));  
                }  
            }  
 
            function ArbreContenuClientNodeChecked(sender, args) {  
                var treeView = $find("<%= ArbreContenu.ClientID %>");  
                var checkedNodes = treeView.get_checkedNodes();  
                var toolBar = $find("<%= RadToolbarPanneauGauche.ClientID %>");  
                var btnAjouterRubrique = toolBar.findItemByValue("AjouterRubrique");  
                var btnAjouterPage = toolBar.findItemByValue("AjouterPage");  
                var btnSupprimer = toolBar.findItemByValue("Supprimer");  
                btnAjouterPage.set_enabled((checkedNodes.length <= 1) && (args.get_node().get_category() == "rubrique"));  
                btnAjouterRubrique.set_enabled((checkedNodes.length <= 1) && (args.get_node().get_category() == "rubrique"));  
                btnSupprimer.set_enabled(checkedNodes.length > 0);  
            }  
        </script>  
    </telerik:RadScriptBlock>  
    <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat=server>  
        <AjaxSettings>  
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="RadDockZoneParagraphes" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID="btnEnregistrerNom">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="ArbreContenu" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauGauche" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauDroite" />  
                    <telerik:AjaxUpdatedControl ControlID="RadDockZoneParagraphes" />  
                    <telerik:AjaxUpdatedControl ControlID="lblMessage" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID="btnEditerNom">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID="btnAnnulerNom">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID="ArbreContenu">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="ArbreContenu" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauGauche" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauDroite" />  
                    <telerik:AjaxUpdatedControl ControlID="RadDockZoneParagraphes" />  
                    <telerik:AjaxUpdatedControl ControlID="lblMessage" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID=RadToolbarPanneauGauche>  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="ArbreContenu" />  
                    <telerik:AjaxUpdatedControl ControlID="RadDockZoneParagraphes" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauGauche" />  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauDroite" />  
                    <telerik:AjaxUpdatedControl ControlID="lblMessage" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
            <telerik:AjaxSetting AjaxControlID="RadToolbarPanneauDroite">  
                <UpdatedControls>  
                    <telerik:AjaxUpdatedControl ControlID="RadToolbarPanneauDroite" />  
                    <telerik:AjaxUpdatedControl ControlID="RadDockZoneParagraphes" />  
                    <telerik:AjaxUpdatedControl ControlID="lblMessage" />  
                    <telerik:AjaxUpdatedControl ControlID="lblPublication" />  
                    <telerik:AjaxUpdatedControl ControlID="SaisieDateLimite1" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEnregistrerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="lblNom" />  
                    <telerik:AjaxUpdatedControl ControlID="txtNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnEditerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="btnAnnulerNom" />  
                    <telerik:AjaxUpdatedControl ControlID="PanelLoading" LoadingPanelID="LoadingPanel1" />  
                </UpdatedControls>  
            </telerik:AjaxSetting>  
           </AjaxSettings>  
        </telerik:RadAjaxManagerProxy>  
    <asp:Panel ID="Panel1" runat=server Width=100% Height=100%>  
        <div align=center>  
            <telerik:RadSplitter ID="RadSplitterBrowser"  VisibleDuringInit=false OnClientLoaded="SplitterClientLoaded" runat="server" Orientation=Vertical Skin="Office2007" height=100% Width=100% BorderSize=1 BorderStyle=Solid ResizeMode=Proportional ResizeWithBrowserWindow=true ResizeWithParentPane=true>  
                <telerik:RadPane runat=server ID="RadPaneNavigation" Width=25%>  
                    <table width=100%>  
                        <tr height="20px">  
                            <td class="bloctitreadmin" width=100% align=left>  
                                Contenu du POD  
                            </td>  
                        </tr>  
                        <tr>  
                            <td class="blocpageadmin" width=100% align=left>  
                                <telerik:RadToolBar ID="RadToolbarPanneauGauche" runat="server" width=100% SkinID="Telerik" OnButtonClick="RadToolbarPanneauGauche_ButtonClick" OnClientButtonClicking="RadToolbarPanneauGaucheClientButtonClicking">  
                                    <Items>  
                                        <telerik:RadToolBarButton runat="server" Text="" CommandName="AjouterRubrique" CommandArgument="AjouterRubrique"   
                                            ImageUrl="~/admin/images/folder-full-add-24x24.png"   
                                            ToolTip="Ajouter une rubrique" Value="AjouterRubrique">  
                                        </telerik:RadToolBarButton>  
                                        <telerik:RadToolBarButton runat="server" Text="" CommandName="AjouterPage" CommandArgument="AjouterPage"  
                                            ImageUrl="~/admin/images/page-add-24x24.png" ToolTip="Ajouter une page"   
                                            Value="AjouterPage">  
                                        </telerik:RadToolBarButton>  
                                        <telerik:RadToolBarButton runat="server" Text="" CommandName="Supprimer" CommandArgument="Supprimer"  
                                            ImageUrl="~/admin/images/page-remove-24x24.png"   
                                            ToolTip="Supprimer la sélection" Value="Supprimer">  
                                        </telerik:RadToolBarButton>  
                                    </Items>  
                                </telerik:RadToolBar>  
                            </td>  
                        </tr>  
                        <tr>  
                            <td class="blocpageadminbas" width=100%>  
                                <telerik:RadTreeView ID="ArbreContenu" runat="server" width=100%  
                                    EnableViewState=true   
                                    CheckBoxes="True" CheckChildNodes="False" EnableDragAndDrop="True"   
                                    EnableDragAndDropBetweenNodes="True" CssClass="RadNode"  
                                    Skin="Telerik" SkinID="Telerik"  
                                    OnClientContextMenuShowing="AfficherMenuContenu"  
                                    OnClientNodeChecked="ArbreContenuClientNodeChecked"  
                                    OnNodeClick="ArbreContenu_NodeClick"  
                                    OnContextMenuItemClick="ArbreContenu_ContextMenuItemClick"  
                                    OnNodeDrop="ArbreContenu_NodeDrop"  
                                    OnClientContextMenuItemClicking="ContenuContextMenuClientItemClicking">  
                                        <ContextMenus>  
                                            <telerik:RadTreeViewContextMenu ID="ContenuContextMenu" runat=server Skin="Telerik">  
                                                <Items>  
                                                    <telerik:RadMenuItem runat=server ImageUrl="~/admin/images/folder-full-add-24x24.png" Text="Ajouter une rubrique" Value="AjouterRubrique"></telerik:RadMenuItem>  
                                                    <telerik:RadMenuItem runat=server ImageUrl="~/admin/images/page-add-24x24.png" Text="Ajouter une page" Value="AjouterPage"></telerik:RadMenuItem>  
                                                    <telerik:RadMenuItem runat=server ImageUrl="~/admin/images/folder-remove-24x24.png" Text="Supprimer" Value="SupprimerRubrique"></telerik:RadMenuItem>  
                                                    <telerik:RadMenuItem runat=server ImageUrl="~/admin/images/page-remove-24x24.png" Text="Supprimer" Value="SupprimerPage"></telerik:RadMenuItem>  
                                               </Items>  
                                            </telerik:RadTreeViewContextMenu>  
                                        </ContextMenus>  
                                </telerik:RadTreeView>  
                            </td>  
                        </tr>  
                    </table>  
                </telerik:RadPane>  
                <telerik:RadSplitBar ID="RadSplitBar1" runat=server CollapseMode=Both />  
                <telerik:RadPane runat=server ID="RadPaneDetail" Width="75%" CssClass="DockRadPane">  
                    <table style="width: 100%;">  
                        <tr>  
                            <td colspan=2 class="bloctitreadmin" align=left width=100%>  
                                <table width=100%>  
                                    <tr>  
                                        <td><asp:Label ID="lblNom" CssClass="lbltitreadmin" runat="server"></asp:Label></td>  
                                        <td><asp:Label ID="lblPublication" runat=server CssClass="lbltitreadmin"></asp:Label></td>  
                                        <td><asp:ImageButton ID="btnEditerNom" style="cursor:hand;" runat="server" ToolTip="Modifier le nom de la sitothèque" ImageUrl="~/admin/images/Edit.gif" /></td>  
                                        <td><asp:TextBox ID="txtNom" runat="server" Columns=30 MaxLength=50></asp:TextBox></td>  
                                        <td>  
                                            <asp:RequiredFieldValidator ID="txtNomValidator" runat="server"   
                                                        ControlToValidate="txtNom" Display="Dynamic" EnableClientScript="true"   
                                                        ErrorMessage="Veuillez entrer un nom" SetFocusOnError="true">  
                                            </asp:RequiredFieldValidator>  
                                        </td>  
                                        <td><uc1:saisieDateLimite ID="SaisieDateLimite1" runat="server" /></td>  
                                        <td><asp:ImageButton ID="btnEnregistrerNom" style="cursor:hand;" ToolTip="Enregistrer le nom" ImageUrl="~/admin/images/Update.gif" runat="server" /></td>  
                                        <td><asp:ImageButton ID="btnAnnulerNom" style="cursor:hand;width:16px;height:16px" ToolTip="Annuler la modification" ImageUrl="~/admin/images/stop.png" runat="server" /></td>  
                                    </tr>  
                                </table>  
                            </td>  
                        </tr>  
                        <tr>  
                            <td colspan=1 class="blocpageadmin" width=30% align=left>  
                            <telerik:RadToolBar ID="RadToolbarPanneauDroite" runat="server" OnButtonClick="RadToolbarPanneauDroite_ButtonClick" SkinID="Telerik" width="100%">  
                                <Items>  
                                    <telerik:RadToolBarButton Commandname="AjouterParagraphe" CommandArgument="AjouterParagraphe" ImageUrl="~/admin/images/blog-post-add-24x24.png" Text="" Tooltip="Ajouter un paragraphe" Value="AjouterParagraphe">  
                                    </telerik:RadToolBarButton>  
                                </Items>  
                            </telerik:RadToolBar>  
                            </td>  
                            <td colspan=1 class="blocpageadmin" align=right width=70%>  
                                <asp:Label ID="lblMessage" runat=server></asp:Label>  
                            </td>  
                        </tr>  
                        <tr>  
                            <td align="left" class="blocpageadminbas" colspan="2" width="100%">  
                                <telerik:RadDockLayout runat=server ID="RadLayout">  
                                    <telerik:RadDockZone ID="RadDockZoneParagraphes" Runat="server"   
                                        EnableEmbeddedSkins="false" Height="650px"   
                                        Orientation="Vertical" Width="97%">  
                                    </telerik:RadDockZone>  
                                </telerik:RadDockLayout>  
                            </td>  
                        </tr>  
                    </table>  
                </telerik:RadPane>  
            </telerik:RadSplitter>  
            <telerik:RadWindowManager ID="RadWindowManager1" runat="server">  
                <Windows>  
                    <telerik:RadWindow ID="EditionParagraphe" OnClientClose="RefreshParagraphes" Title="Edition d'un paragraphe" Behaviors=Move,Resize Height="800px" Skin="Telerik" Width="1024px" Left="200px" ReloadOnShow=false Modal=true runat="server" ShowContentDuringLoad=false>  
                    </telerik:RadWindow>  
                    <telerik:RadWindow ID="SuppressionParagraphe" OnClientClose="RefreshParagraphes" Title="Suppression d'un paragraphe" Behaviors=Move,Resize Height="200px" Skin="Telerik" Width="700px" Left="200px" ReloadOnShow=false Modal=true runat="server" ShowContentDuringLoad=false>  
                    </telerik:RadWindow>  
                </Windows>  
            </telerik:RadWindowManager>  
        </div>  
    </asp:Panel>  
</asp:Content>  
 

In the RadDockZone (RadDockZoneParagraphes), the RadDock objects are created dynamically from database request. Each RadDock object contains a custom command ("SupprimerCommand") which throws the client event "SupprimerDockCommand".

I've declared in the RadDock object a handler for Command event. Below is th code :

    Private Function CreerParagraphe(ByVal pParagraphe As PODContenuParagraphe, ByVal pIdPage As Integer) As RadDock  
        Dim rdo As RadDock = New RadDock()  
        rdo.ID = "RadObjet" & pParagraphe.IdParagraphe.ToString()  
        rdo.DockMode = DockMode.Docked  
        rdo.Resizable = True  
        rdo.Skin = "Telerik"  
        rdo.Width = Unit.Percentage(95)  
        rdo.Attributes.Add("ID", pParagraphe.IdParagraphe.ToString())  
        rdo.ExpandText = "Agrandir"  
        rdo.CollapseText = "Réduire"  
        rdo.Title = pParagraphe.CreerTitreParagraphe()  
        rdo.AutoPostBack = True  
        rdo.EnableDrag = True  
 
        AddHandler rdo.Command, dock_Command()  
 
        rdo.ContentContainer.Controls.Add(New LiteralControl(pParagraphe.CreerContenuParagraphe(Request.ApplicationPath)))  
 
        Dim cmdEditerParagraphe As DockCommand = New DockCommand()  
        cmdEditerParagraphe.Text = "Editer"  
        cmdEditerParagraphe.Name = pIdPage.ToString() & "|" & pParagraphe.IdParagraphe.ToString()  
        cmdEditerParagraphe.OnClientCommand = "editerParagrapheCommand"  
        cmdEditerParagraphe.CssClass = "EditerDockCommand"  
        rdo.Commands.Add(cmdEditerParagraphe)  
 
        Dim cmdSupprimerParagraphe As DockCommand = New DockCommand()  
        cmdSupprimerParagraphe.Text = "Supprimer"  
        cmdSupprimerParagraphe.AutoPostBack = True  
        cmdSupprimerParagraphe.Name = pParagraphe.IdParagraphe.ToString()  
        cmdSupprimerParagraphe.OnClientCommand = "supprimerParagrapheCommand"  
        cmdSupprimerParagraphe.CssClass = "SupprimerDockCommand"  
        rdo.Commands.Add(cmdSupprimerParagraphe)  
 
        rdo.Commands.Add(New DockExpandCollapseCommand())  
 
        Return rdo  
    End Function  
 
    Sub dock_Command(ByVal sender As Object, ByVal e As DockCommandEventArgs)  
        'Code ...  
    End Sub 

The problem is that the dock_Command event is never fired. More, the raddockzone disappears. I've tried to add an UpdatePanel with triggers. I've tried to pass by the AjaxManager and call ajaxRequest method. None of these solutions worked.

I've tried to implement dockpositionchange event, but it's the same problem.

So, I need your help.

Thanks

Yann

Yann
Top achievements
Rank 1
 answered on 25 Feb 2009
3 answers
137 views
I have a rad panel bar with 2 panels:
<telerik:RadPanelBar runat="server" ID="RadPanelBar1" Skin="Web20" Width="100%"> 
    <CollapseAnimation Type="InBack"></CollapseAnimation> 
    <Items> 
        <telerik:RadPanelItem Text="<%$Resources:RESX_SwitchSettings %>" Expanded="True" 
            Value="tblConfiguration"> 
            <ItemTemplate> 
                <asp:Table runat="server" ID="tblConfiguration" BorderWidth="1" CellSpacing="5" CellPadding="5" 
                    > 
                </asp:Table> 
            </ItemTemplate> 
        </telerik:RadPanelItem> 
        <telerik:RadPanelItem Value="tblConfigurationAdvanced" Text="<%$Resources:RESX_AdvancedSwitchSettings %>" Expanded="false"> 
            <ItemTemplate> 
                <asp:Table runat="server" ID="tblConfigurationAdvanced" BorderWidth="1" CellSpacing="5" 
                     CellPadding="5"> 
                </asp:Table> 
            </ItemTemplate> 
        </telerik:RadPanelItem> 
 
</Items> 
</telerik:RadPanelBar> 

I populate these table in the code behind (successfully). however, when i click on the panel bar of each panel the panels won't collapse. any ideas why?
Paul
Telerik team
 answered on 25 Feb 2009
5 answers
181 views
Hello,

I pull out a list of menu items to databind to the panelbar control (only 2 levels deep). In the code's ItemDataBound event I evaluate the current browser URL and then compare it to the URL for the current panelbar item - if it's a match, I select the item (and if it's a child item the parent is automatically selected as well by the panelbar control, apparently). Now to my problem...

When I click a child element in the panelbar, the parent element is instantly deselected then the postback occurs and the parent and child elements are selected again (as I reselect them in code). With the non-ajax version of this control in the older rad controls suite this did not occur. Instead I would click the child element and the parent element would stay selected, the postback would occur and I would reselect both in the code before returning the response with both parent and child selected.

Is there some kind of property I can set to turn off this instant client-side reaction that causes the parent panel item to become deselected? I don't know why the control behavior is different from the original non-ajax one.

Thanks,
Chris
Atanas Korchev
Telerik team
 answered on 25 Feb 2009
5 answers
134 views
Hi everyone,

I'm using the following java script to make the calendar appear with the right edge aligned with the bottom right corner of the "TextBox"
When the page first loads and I click the DateButtonPopup the calendar width = 238px which positions it incorrectly, if I click the button to display the calendar again the width is now = 220px and it is positioned correctly.

Does anyone have any ideas?

<

 

telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">

 

 

<script type="text/javascript">

 

 

function PositionCalendar(sender, pickerID) {
var datePicker;

 

 

if (pickerID != null)

 

{

datePicker = $find(pickerID);

 

if (datePicker.isPopupVisible()) {

 

datePicker.hidePopup();

}

 

else {

 

 

var textBox = datePicker.get_textBox();

 

 

var popupElement = datePicker.get_popupContainer();

 

 

var calendarDimensions = datePicker.getElementDimensions(popupElement);

 

 

var textboxPosition = datePicker.getElementPosition(textBox);

 

 

var textboxDimensions = datePicker.getElementDimensions(textBox);

 

datePicker.showPopup((textboxPosition.x + textboxDimensions.width) - calendarDimensions.width, (textboxPosition.y + textboxDimensions.height));

 

}

}

}

 

</script>

 

</

 

telerik:RadCodeBlock>

CodeBehind:

 

 

protected override void OnPreRender(EventArgs e)

 

{

 

 

 

    base

 

.OnPreRender(e);
    this

 

.rdpFrom.DatePopupButton.Attributes.Add("onclick", "PositionCalendar(event, '" + this.rdpFrom.ClientID + "');return false;");
}

 

Georgi Krustev
Telerik team
 answered on 25 Feb 2009
1 answer
74 views
Hi RAD experts,

I am having a little trouble doing something that worked fine in MS.AJAX in RAD controls

This is what i have:

<Page>
<RadAjaxPanel>
<WebUserControl>
<RadAjaxPanel>
...Custom control stuff...
</RadAjaxPanel>
</WebUserControl>
...Stuff...
</RadAjaxPanel>
</Page>

now when i change stuff in the "Custom control stuff" WebUserControl section, i fire a custom event. before i could just listen on that event, re-bind my UI in the ...Stuff... section and do a .Update() on the UpdatePanel that lived there before the RadAjaxPanel. All was dandy and great. then i saw the light and switched to RAD controls. super cool UI control pack! but now my form doesn't work anymore. nothing happens when the event used to fire.

Any feedback?

Kind regards,
A very frustrated developer. :-)

Iana Tsolova
Telerik team
 answered on 25 Feb 2009
1 answer
117 views
We have little complex page with TreeView. On 'right click' of the node we are displaying the appropriate context menu as per the selected node. The context menu items can be enable/disable depending upon the type of node, we are controlling this via javascript.

The issue which we are facing is: If I right click on one of the tree node and choose one of the context menu item; then try to right click on different tree node, getting the following error:

'this._originalDomPositionHelper.parentNode' is null or not an object.

After we got this error the context menu is completely gone and in order to get it back we have to 'refresh' the page or start the application in new browser window.

I have tried this several times and seems like the RadTreeView's OnClientContextMenuShowing event takes around 5 seconds to build the context menu. We are managing enable/disable state for context menu item via javascript which is being called from OnClientContextMenuShowing but that javascript is pretty light.

Is there a way that we can build the context menu quicker? We can't have wait time ~5 seconds for our users.

Any help will be greatly appreciated.

Thanks,
Dimitar Milushev
Telerik team
 answered on 25 Feb 2009
3 answers
160 views
I have installed ".NET 3.5" and "RadControls_for_ASP.NET_AJAX_2008_3_1314_dev.exe", but the link "RadControls for ASPNET AJAX Q3 2008 Live Examples" does not lauch. Do I need to configure anything differently after the installation? What information do you need in order to diagnose this?
Paul
Telerik team
 answered on 25 Feb 2009
3 answers
217 views
I am a C# guy, but I am working on a VB (sigh) project at the moment
and I was trying to follow the code example in the online help (http://www.telerik.com/help/aspnet-ajax/ajax-manager-proxy.html)  for adding a server-side event handler in a page that points to a master page with a RadAjaxManager. 

The example is:
C#
protected void Page_Load(object sender, EventArgs e)
{
   RadAjaxManager manager = RadAjaxManager.GetCurrent(Page);
   manager.ClientEvents.OnRequestStart =
 "onRequestStart";
   manager.ClientEvents.OnResponseEnd =
 "onResponseEnd";
   manager.AjaxRequest +=
 new RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest);
}

VB.NET
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim manager As RadAjaxManager = RadAjaxManager.GetCurrent(Page)
manager.ClientEvents.OnRequestStart =
 "onRequestStart"
manager.ClientEvents.OnResponseEnd = "onResponseEnd"
manager.AjaxRequest += New RadAjaxControl.AjaxRequestDelegate(manager_AjaxRequest)
End Sub


The C# code works fine, but I really struggled to get the VB code working.
No once again I'm not very famialiar with .NET VB code so I'm not sure if it is just something in my project but I doubt it.

The code that finally compiled was as follows:

Dim radAjaxManager As RadAjaxManager = radAjaxManager.GetCurrent(Page)
        radAjaxManager.ClientEvents.OnRequestStart = "onRequestStart"
        radAjaxManager.ClientEvents.OnResponseEnd = "onResponseEnd"
AddHandler radAjaxManager.AjaxRequest, AddressOf radAjaxManager_AjaxRequest

I hope this helps someone else out that might run into the same problem. ;)

EDIT: I forgot to mention that I am currently using/testing 2008 Q3 1016 Beta



Iana Tsolova
Telerik team
 answered on 25 Feb 2009
3 answers
172 views
On my Radgrid the funnel image does not appear on the Radgrid when there is AllowFilteringByColumn="True."   Its just a blank small button on each column and when I click on any of these buttons the filter options appear.  What happen to the funnel image for filtering? Thx
Dimo
Telerik team
 answered on 25 Feb 2009
Narrow your results
Selected tags
Tags
+? more
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?