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

Very First Time Rad Grid Event Not Firing

3 Answers 129 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rama
Top achievements
Rank 1
Rama asked on 14 Sep 2011, 01:42 PM
HI,

    I have a User Control which has dataGrid and this control is placed in Rad dock and here I am Trying to implement inline Edit, Delete and Add But When I try to click any one of these for very first time the event doesnt fire and from the second time every click works fine. So can you please suggest where am I doing Mistake

3 Answers, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 17 Sep 2011, 08:00 AM
Hello Rama,

How is the user control with the grid added on the page, declaratively or dynamically? Please share the ascx and ascx.cs/ascx.vb code for further check.

Greetings,
Iana Tsolova
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
Rama
Top achievements
Rank 1
answered on 19 Sep 2011, 02:31 PM
Here is mycode
<%@ Control Language="vb" AutoEventWireup="true" EnableViewState="true"  CodeBehind="SiteNotes.ascx.vb" 
    Inherits="Portal.SiteNotes" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
  
<div>   
        <%--<asp:Panel runat="server" ID="pnlNotes">--%>
                      
                <asp:Label ID="lblSelectSite" runat="server" Text="<%$ Resources:Generic,NoRecord %>" Visible="false" ></asp:Label>                
                      
                    <telerik:RadGrid ID="rgSiteNotes"  runat="server" 
                        AlternatingItemStyle-BorderColor="Red"  
                        ItemStyle-CssClass="rgsiteItem" AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false"
                        PageSize="20">
                        <MasterTableView AutoGenerateColumns="false" ItemStyle-Height="30px" AlternatingItemStyle-Height="30px" AlternatingItemStyle-BackColor="White"  
                            CommandItemDisplay="Bottom"  DataKeyNames="ClientHierNoteID" ForeColor="#000"
                            Font-Size="10px" Font-Names="Verdana,Arial" >
                             
                            <CommandItemTemplate>
                            <div style="background-color:#bbd0e8; height:26px;">
                                 
                               <div style="text-align:center;"
                                <img src="../../Assets/image/core/plus_acr.gif" alt="" />                                                              
                                <asp:LinkButton ID="LinkButton2" runat="server"  Text="Add New Note" ForeColor="Black" CommandName="InitInsert"></asp:LinkButton>
                                </div
                            </div>
                            </CommandItemTemplate>
                              
                            <CommandItemStyle Height="30px"  CssClass="rglnksiteItem"/>
                            <HeaderStyle CssClass="rgsiteHeader" Font-Bold="true" Font-Size="10px" ForeColor="Gray" 
                                Wrap="false" Font-Names="Verdana,Arial" />
                            <FooterStyle BackColor="#91a7ba" />
                            <ItemStyle CssClass="rgsiteItem" />
                            <Columns>
                                <telerik:GridBoundColumn DataField="ClientHierNoteID" UniqueName="ClientHierNoteID"
                                    Visible="false" ReadOnly="true">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Username" UniqueName="Username"
                                    Visible="false" ReadOnly="true">
                                </telerik:GridBoundColumn>
                                <telerik:GridTemplateColumn Visible="false" UniqueName="site_id">
                                    <ItemTemplate>
                                        <asp:Label runat="server" ID="lblSiteId"><%= Request.Querystring("SiteId") %></asp:Label>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn DataField="ClientHierID" UniqueName="ClientHierID"
                                    Visible="false">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="ClientHierID" UniqueName="ClientHierID" Visible="false"
                                    ReadOnly="true">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="ClientHierNote" ItemStyle-BorderColor="Black" ItemStyle-ForeColor="#FF9966" HeaderStyle-BackColor="#bbd0e8" HeaderStyle-Width="240px" UniqueName="ClientHierNote"
                                    HeaderText="Note" ColumnEditorID="GridTextBoxColumnEditor3">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="ClientHierNoteDate" ItemStyle-BorderColor="Black" HeaderStyle-BackColor="#bbd0e8" HeaderStyle-Width="140px"
                                    UniqueName="ClientHierNoteDate" HeaderText="<%$ Resources:Generic,Date %>" ColumnEditorID="GridDateTimeColumnEditor"
                                    SortExpression="ClientHierNoteDate" DataFormatString="{0:d}" ItemStyle-Wrap="false">                                   
                                </telerik:GridBoundColumn>
                                  
                                <telerik:GridBoundColumn DataField="FirstName" ItemStyle-ForeColor="#FF9966" ItemStyle-BorderColor="Black" HeaderStyle-BackColor="#bbd0e8" HeaderStyle-Width="90px" UniqueName="FirstName"
                                    HeaderText="<%$ Resources:Generic,Name %>" ColumnEditorID="GridTextBoxColumnEditor1" SortExpression="FirstName"
                                    ItemStyle-Wrap="false">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn Visible="false" ItemStyle-BorderColor="Black"  DataField="LastName" UniqueName="LastName" 
                                    HeaderText="Last Name" ColumnEditorID="GridTextBoxColumnEditor1"
                                    SortExpression="LastName" ItemStyle-Wrap="false">
                                </telerik:GridBoundColumn>
                                 
                                <telerik:GridEditCommandColumn  ButtonType="ImageButton" ItemStyle-BorderColor="Black" CancelText="Cancel" CancelImageUrl="../../Assets/image/en/btn_cancel_english.gif"
                                    EditText="Edit"  UniqueName="EditCommandColumn" UpdateText="Update" EditImageUrl="../../Assets/image/core/plus-button-large.png">
                                </telerik:GridEditCommandColumn>
                                  
                                
                                  
                                <telerik:GridButtonColumn ButtonType="ImageButton" ItemStyle-BorderColor="Black" CommandName="Delete" ImageUrl="../../Assets/image/core/close-button-large.png"
                                    ConfirmDialogType="Classic" ConfirmText="Delete this note?" ConfirmTitle="Delete"
                                    Text="Delete" UniqueName="DeleteColumn">
                                </telerik:GridButtonColumn>
                            </Columns>
                            <EditItemStyle VerticalAlign="Top" ForeColor="#000" />
                            <EditFormSettings EditFormType="Template">
                                <FormTemplate>
                                    <div style="background-color:#bbd0e8" >
                                    <br />
                                    <table id="Table3" cellspacing="1" cellpadding="1" width="100%" border="0" style="font-family: Verdana,Arial;
                                        font-size: 10px; background-color: #bbd0e8; margin-left:5px; ">
                                        <tr>
                                            <td
                                                <asp:TextBox ID="tbNote" runat="server" ForeColor="#FF9966" BorderColor="Gray" Font-Size="12px" BorderStyle="Solid" BorderWidth="1px" TextMode="MultiLine" Rows="6" Text='<%# Bind( "ClientHierNote") %>'
                                                    TabIndex="4" Width="150px"></asp:TextBox>
                                                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="tbNote"
                                                    ForeColor="#FF0000" Display="Dynamic" Text="Note text is required."></asp:RequiredFieldValidator>
                                            </td>
                                            <td>
                                                <asp:TextBox ID="tbDate" runat="server" BorderColor="Gray" BorderStyle="Solid" Font-Size="12px" BorderWidth="1px" Text='<%# Bind( "ClientHierNoteDate","{0:d}" ) %>'
                                                    TabIndex="3" Width="110px"></asp:TextBox>
                                                <img src="~/assets/image/core/cal.png" runat="server" id="imgCal" />
                                                <cc1:CalendarExtender runat="server" ID="ceDate" Enabled="true" PopupPosition="BottomRight" 
                                                    PopupButtonID="imgCal" TargetControlID="tbDate">
                                                </cc1:CalendarExtender>
                                            </td>
                                            <td style="margin-top:0px;">
                                                <table style="margin-top:0px;">
                                                    <tr>
                                                        <td>
                                                            <asp:Label ID="firstName" runat="server" Text="FirstName:"></asp:Label>                                                           
                                                        </td>
                                                   </tr>
                                                   <tr>
                                                        <td>                                                       
                                                            <asp:TextBox ID="tbFirst" runat="server" BorderColor="Gray" ForeColor="#FF9966" Font-Size="12px" BorderStyle="Solid" BorderWidth="1px" Text='<%# Bind( "FirstName" ) %>' TabIndex="1"
                                                                Width="110px"></asp:TextBox>
                                                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tbFirst"
                                                                ForeColor="#FF0000" Display="Dynamic" Text="First name is required."></asp:RequiredFieldValidator>
                                                        </td>
                                                   </tr>
                                                    <tr style="margin-top:0px;">
                                                        <td>
                                                            <br />                                                            
                                                             <asp:Label ID="lastName" runat="server" Text="LastName:"></asp:Label>                                                             
                                                        </td>                                                    
                                                    </tr>
                                                    <tr>
                                                        <td>
                                                            <asp:TextBox ID="tbLast" runat="server" BorderColor="Gray" ForeColor="#FF9966" Font-Size="12px" BorderStyle="Solid" BorderWidth="1px" Text='<%# Bind( "LastName" ) %>' TabIndex="1"
                                                                Width="110px"></asp:TextBox>
                                                            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="tbFirst"
                                                                ForeColor="#FF0000" Display="Dynamic" Text="First name is required."></asp:RequiredFieldValidator>
                                                        </td>
                                                    </tr>
                                                </table>                                                
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>
                                              
                                            </td>
                                            <td>                             
                                                <div style="text-align:center;">
                                                <asp:LinkButton ID="btnUpdate" ToolTip="Save" ForeColor="Orange"  runat="server" Text='<%$ Resources:Generic,Save %>' CommandName='<%# IIf((TypeOf(Container) is GridEditFormInsertItem), "PerformInsert", "Update")%>' ></asp:LinkButton>
                                                   
                                                <asp:LinkButton ID="btnCancel" ForeColor="Orange" Text='<%$ Resources:Generic,Cancel %>' ToolTip="Cancel" CausesValidation="false" runat="server"  CommandName="Cancel" ></asp:LinkButton>
                                                 </div>                                                                                                                                               
                                            </td>
                                        </tr>
                                    </table>
                                    </div>
                                </FormTemplate>
                            </EditFormSettings>
                            <NoRecordsTemplate>
                                <div id="Div1" runat="server" style="margin: 25px auto; text-align: center; font-size: 11px">
                                    <strong>
                                        <asp:Label ID="Label5" runat="server" Text='<%$ Resources:Generic, NoResults %>'></asp:Label></strong>
                                          
                                </div>
                            </NoRecordsTemplate>                           
                        </MasterTableView>
                          
                        <ClientSettings Selecting-AllowRowSelect="true"  EnablePostBackOnRowClick="true" >
                              
                        </ClientSettings>
                        </telerik:RadGrid
                      
                    <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" runat="server" TextBoxStyle-Width="125px" />
                    <telerik:GridDateTimeColumnEditor ID="GridDateTimeColumnEditor1" runat="server" TextBoxStyle-Width="125px">
                    </telerik:GridDateTimeColumnEditor>
                    <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor3" runat="server" TextBoxMode="MultiLine"
                        TextBoxStyle-Height="50px" TextBoxStyle-Width="365px" />
                    
        <%--</asp:Panel>--%>
              
</div>


------- ASCX.VB-----------------------------

Imports Summit.Portal.Framework.Widget
Imports System.ServiceModel.Description
Imports Summit.DV
Imports Summit.DV.Entities.Site
Imports Summit.DV.DAO.Site
Imports Summit.DV.Services.Interfaces.Site
Imports System.ServiceModel.Web
Imports ADCore.ADUtility
Imports Telerik.Web.UI
Imports Portal.Constants
Imports AjaxControlToolkit
Imports System.Globalization
  
Partial Public Class SiteNotes
    Inherits BaseWidget
  
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  
  
    End Sub
  
    Protected Overrides Sub RefreshContent(ByVal config As WidgetConfiguration)
  
        If IsBlank(config.GetKeyValue(XMLKEY_CLIENT_HIER_ID)) Then
            rgSiteNotes.Visible = False
            lblSelectSite.Visible = True
        Else
            Dim strTimeLine As String = config.GetKeyValue(Constants.XMLKEY_TIMELINE)
            Dim intSiteId As Integer = config.GetKeyValue(Constants.XMLKEY_SITE_ID)
            LoadSiteNotes(strTimeLine, intSiteId)
        End If
  
    End Sub
  
    Private Sub LoadSiteNotes(ByVal strTimeLine As String, ByVal intSiteId As Integer)
  
        Dim strDocumentBaseURL As String = ConfigurationManager.AppSettings("SiteServiceBaseURL")
        Dim channelFactory As New WebChannelFactory(Of ISiteService)(New Uri(strDocumentBaseURL))
        channelFactory.Endpoint.Behaviors.Add(New WebHttpBehavior)
        Dim svcProxy As ISiteService = channelFactory.CreateChannel()
        rgSiteNotes.DataSource = svcProxy.LoadAllSiteNote(intSiteId)
        rgSiteNotes.DataBind()
        rgSiteNotes.HeaderStyle.CssClass = "rgsiteHeader"
  
    End Sub
  
    Private Sub rgSiteNotes_DeleteCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSiteNotes.DeleteCommand
  
        Dim strDocumentBaseURL As String = ConfigurationManager.AppSettings("SiteServiceBaseURL")
        Dim channelFactory As New WebChannelFactory(Of ISiteService)(New Uri(strDocumentBaseURL))
        channelFactory.Endpoint.Behaviors.Add(New WebHttpBehavior)
        Dim svcProxy As ISiteService = channelFactory.CreateChannel()
  
        Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
        Dim ClientHierNoteID As Integer = item.GetDataKeyValue("ClientHierNoteID").ToString()
  
        svcProxy.DeleteSiteNote(ClientHierNoteID)
  
        Dim objConfig As New WidgetConfiguration
        objConfig = GetConfigObject()
        RefreshContent(objConfig)
  
    End Sub
  
    Private Sub rgSiteNotes_EditCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSiteNotes.EditCommand
  
        Dim objConfig As New WidgetConfiguration
        objConfig = GetConfigObject()
        RefreshContent(objConfig)
  
  
    End Sub
  
    Private Sub rgSiteNotes_InsertCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSiteNotes.InsertCommand
  
        Dim strDocumentBaseURL As String = ConfigurationManager.AppSettings("SiteServiceBaseURL")
        Dim channelFactory As New WebChannelFactory(Of ISiteService)(New Uri(strDocumentBaseURL))
        channelFactory.Endpoint.Behaviors.Add(New WebHttpBehavior)
        Dim svcProxy As ISiteService = channelFactory.CreateChannel()
        Dim siteNote As New SiteNote
  
        Dim item As GridEditableItem = DirectCast(e.Item, GridEditableItem)
  
        Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
  
        Dim newValues As Hashtable = New Hashtable
  
        Dim config As WidgetConfiguration = New WidgetConfiguration()
  
        config = GetConfigObject()
  
        siteNote.ClientHierID = config.GetKeyValue(XMLKEY_CLIENT_HIER_ID) '267959 
        siteNote.FirstName = CType(editedItem.FindControl("tbFirst"), TextBox).Text
        siteNote.LastName = CType(editedItem.FindControl("tbLast"), TextBox).Text
        siteNote.Username = UserUtility.workingUser.UserName
        siteNote.ClientHierNoteDate = DateTime.ParseExact(CType(editedItem.FindControl("tbDate"), TextBox).Text, DATE_FORMAT, CultureInfo.InvariantCulture) 'CType(editedItem.FindControl("tbDate"), TextBox).Text
        siteNote.ClientHierNote = CType(editedItem.FindControl("tbNote"), TextBox).Text
        svcProxy.AddSiteNote(siteNote)
  
        Dim objConfig As New WidgetConfiguration
        objConfig = GetConfigObject()
        RefreshContent(objConfig)
  
    End Sub
  
  
    Private Sub rgSiteNotes_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSiteNotes.ItemCommand
  
        Dim objConfig As New WidgetConfiguration
        objConfig = GetConfigObject()
        RefreshContent(objConfig)
  
        If e.CommandName = RadGrid.InitInsertCommandName Then
            rgSiteNotes.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None
        Else
            rgSiteNotes.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Bottom
        End If
  
  
    End Sub
  
    Public Sub rgSiteNotes_UpdateCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSiteNotes.UpdateCommand
  
        Dim strDocumentBaseURL As String = ConfigurationManager.AppSettings("SiteServiceBaseURL")
        Dim channelFactory As New WebChannelFactory(Of ISiteService)(New Uri(strDocumentBaseURL))
        channelFactory.Endpoint.Behaviors.Add(New WebHttpBehavior)
        Dim svcProxy As ISiteService = channelFactory.CreateChannel()
        Dim siteNote As New SiteNote
  
        Dim item As GridEditableItem = DirectCast(e.Item, GridEditableItem)
        Dim ClientHierNoteID As Integer = item.GetDataKeyValue("ClientHierNoteID").ToString()
  
        Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
  
        siteNote.ClientHierNoteID = item.GetDataKeyValue("ClientHierNoteID").ToString()
        siteNote.ClientHierNoteDate = CType(editedItem.FindControl("tbDate"), TextBox).Text
        siteNote.LastName = CType(editedItem.FindControl("tbLast"), TextBox).Text
        siteNote.FirstName = CType(editedItem.FindControl("tbFirst"), TextBox).Text
        siteNote.Username = editedItem("Username").Text
        siteNote.ClientHierNote = CType(editedItem.FindControl("tbNote"), TextBox).Text
  
        svcProxy.UpdateSiteNote(siteNote)
  
        Dim objConfig As New WidgetConfiguration
        objConfig = GetConfigObject()
        RefreshContent(objConfig)
  
    End Sub
End Class

----------------------USer Control In Dock Config------------------------

<%@ Control Language="vb" AutoEventWireup="true" CodeBehind="PortalControl.ascx.vb"
    Inherits="Portal.PortalControl" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<div class="date_stamp">
    <asp:Label runat="server" ID="lblDateStamp"></asp:Label>
</div>
<%--hidden inputs used to exchange data with server: Place holder position and currentZone--%>
<input type="text" id="currentPlaceholderPosition" runat="server" style="display: none" />
<input type="text" id="currentZoneTB" runat="server" style="display: none" />
<telerik:RadAjaxManager ID="radAjaxManagerPortal" runat="server">
</telerik:RadAjaxManager>
    <!-- Start: Container Panel for Widgets-->
    <div style="position: relative; height: auto; float: left; width: 98%;">
        <asp:UpdatePanel ID="radDockPanel" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:Panel ID="pnlLayout" runat="server" Style="margin: 0px 5px; text-align: left;
                    width: 974px; margin: auto; height: auto !important;">
                </asp:Panel>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
   <!-- Start: RadWindow-->
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true"
    VisibleStatusbar="false" Skin="WebBlue" Behaviors="Close" Width="485px" Height="260px"
    Modal="true" ReloadOnShow="true" OnClientClose="OnClientClose" VisibleTitlebar="false"
    BorderStyle="None">
    <windows>
            <telerik:RadWindow ID="RadWindow1" runat="server" ShowContentDuringLoad="false" Behaviors="Close">
            </telerik:RadWindow>
        </windows>
</telerik:RadWindowManager>
<!-- End: RadWindow-->
<!-- Start: RadContextMenu-->
<telerik:RadContextMenu runat="server" ID="radMenu" Width="100%" EnableRoundedCorners="true"
    EnableShadow="true" OnClientItemClicked="MenuItemClick">
</telerik:RadContextMenu>
<!-- End: RadContextMenu-->
<div style="display: none">
    Hidden UpdatePanel, which is used to receive the new dock controls. We will move
    them with script to the desired dock zone.
    <asp:UpdatePanel runat="server" ID="upPnlHidden">
    </asp:UpdatePanel>
</div>
<script type="text/javascript">
    var strPortalBaseUrl = '<%=strPortalBaseURL%>'
    var strUserPageId ='<%=UserPageId %>'
   </script>
<script type="text/javascript" src="../Assets/js/portal.js">
</script>
0
Iana Tsolova
Telerik team
answered on 20 Sep 2011, 08:01 AM
Hi Rama,

I can see that the user controls is not declaratively added to the ASP:UpdatePanel on the page. However, can you elaborate how are you adding it?
Additionally, I suggest that you use advanced data-binding for the grid, instead of the simple data-binding approach and see if it makes any difference.

Best wishes,
Iana Tsolova
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
Grid
Asked by
Rama
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Rama
Top achievements
Rank 1
Share this question
or