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
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
0
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
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
------- ASCX.VB-----------------------------
----------------------USer Control In Dock Config------------------------
<%@ 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 SubEnd 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
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
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