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

grid_itemcommand is not fired

1 Answer 122 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Angshuman
Top achievements
Rank 1
Angshuman asked on 23 Feb 2011, 09:40 AM
I have a problem regarding grid item command event .It is not firing  after  a radbutton whose cause validation is true and this rad button is in Modalpopoup which will be visible after  clicking a link in grid item-template .I  used  a required field validator in modalpopup.
This is my .aspx code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RadGRid.aspx.cs" Inherits="patientportal_RadGRid"  EnableEventValidation="true" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .modalBackground
        {
            background-color: Gray;
            filter: alpha(opacity=70);
            opacity: 0.7;
        }
        .RadGrid th input
        {
            margin-top: 0;
            margin-bottom: 0;
            height: 12px;
        }
        .modal-inner-wrapper
        {
            width: 340px;
            height: 340px;
            background-color: White;
        }
        
        .modal-inner-wrapper .content
        {
            width: 320px;
            height: 320px;
            background-color: White;
            border: solid 1px Gray;
            z-index: 9999;
            float: right;
            margin-top: 10px;
            margin-right: 10px;
        }
        
        .modal-inner-wrapper .content .close
        {
            float: right;
        }
        
        .modal-inner-wrapper .content .body
        {
            margin-top: 20px;
        }
        
        .rounded-corners
        {
            /*FOR OTHER MAJOR BROWSERS*/
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            -khtml-border-radius: 5px;
            border-radius: 5px; /*FOR IE*/
            behavior: url(border-radius.htc);
        }
        
        .rel
        {
            position: relative;
            z-index: inherit;
            zoom: 1; /* For IE6 */
        }
        
        .modal-bg
        {
            background-color: Gray;
            filter: alpha(opacity=50);
            opacity: 0.6;
            z-index: 999;
        }
        
        .modal
        {
            position: absolute;
        }
    </style>
    <script language="javascript" type="text/javascript">
        function ModalreplyDopostback(evt) {

            __doPostBack('LinkButton1', '');

        }


        function delete_click() {
            var result;
            result = confirm('Are you sure you want to delete this record?');
            return result;
        }


    </script>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server">
    </telerik:RadStyleSheetManager>
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server" />
    <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadScriptManager1">
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadGrid2">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <div>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Office2007" />
        <telerik:RadGrid GridLines="None" ID="RadGrid2" AllowMultiRowSelection="True" Style="border: 0"
            runat="server" AllowPaging="True" PagerStyle-Position="Bottom" AllowSorting="True"
            Skin="Office2007" PageSize="3" Width="865px" ShowGroupPanel="True" ShowFooter="true"
            AllowAutomaticDeletes="True" PagerStyle-AlwaysVisible="true" EnableLinqExpressions="False"
            OnItemDataBound="RadGrid2_ItemDataBound" OnPageIndexChanged="RadGrid2_PageIndexChanged"
            OnPageSizeChanged="RadGrid2_PageSizeChanged" OnItemDeleted="RadGrid2_ItemDeleted"
            OnNeedDataSource="RadGrid2_NeedDataSource" OnItemCommand="RadGrid2_ItemCommand">
            <MasterTableView AutoGenerateColumns="False" DataKeyNames="Id,MailID" AllowMultiColumnSorting="true"
                DataMember="">
                <GroupByExpressions>
                    <telerik:GridGroupByExpression>
                        <SelectFields>
                            <telerik:GridGroupByField FieldAlias="Subject" FieldName="Subject" FormatString=""
                                HeaderValueSeparator=":"></telerik:GridGroupByField>
                        </SelectFields>
                        <GroupByFields>
                            <telerik:GridGroupByField SortOrder="Descending" FieldName="ID" FormatString="" HeaderText="Subject">
                            </telerik:GridGroupByField>
                        </GroupByFields>
                    </telerik:GridGroupByExpression>
                </GroupByExpressions>
                <PagerStyle Visible="true" />
                <CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
                <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridClientSelectColumn UniqueName="SelectColumn">
                        <HeaderStyle Width="30px" />
                    </telerik:GridClientSelectColumn>
                    <telerik:GridBoundColumn DataField="Readstatus" SortExpression="Readstatus" UniqueName="Readstatus"
                        HeaderStyle-HorizontalAlign="Center" HeaderImageUrl="~/gridimages/emailMessage.png"
                        ItemStyle-HorizontalAlign="Center">
                        <HeaderStyle HorizontalAlign="Center" Width="30px"></HeaderStyle>
                        <ItemStyle Width="30px" Height="22px" HorizontalAlign="Center" />
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="FromID" HeaderText="From" SortExpression="FromID"
                        UniqueName="FromID">
                        <HeaderStyle Width="150px" HorizontalAlign="Center" />
                        <ItemStyle Wrap="false" Width="150px" HorizontalAlign="Center" />
                    </telerik:GridBoundColumn>
                    <telerik:GridTemplateColumn HeaderText="Received">
                        <HeaderStyle Width="150px" HorizontalAlign="Center" />
                        <ItemStyle Width="150px" HorizontalAlign="Center" />
                        <ItemTemplate>
                            <asp:Label ID="lbldatetime" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Received") %>'></asp:Label>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="TemplateColumn2" GroupByExpression="From Group By From"
                        SortExpression="From" HeaderText="Subject">
                        <ItemStyle Height="35px"></ItemStyle>
                        <ItemTemplate>
                            <%--     Webmail Subject LinkButton --%>
                            <asp:LinkButton ID="lnksub" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Subject") %>'
                                CommandName="viewmsg" CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Id") %>'>
                            </asp:LinkButton>
                            <%-- modal PopUp panel--%>
                            <asp:Panel ID="Panelmsg" runat="server">
                                <div id="divmsginfo" style="width: 600px; float: left; display: none;" runat="server">
                                    <table style="background-repeat: no-repeat; border-color: White; background-color: White;
                                        color: Black; text-align: left; font-family: Verdana, Geneva, sans-serif;" width="600"
                                        align="center" cellpadding="0" cellspacing="0" border="0">
                                        <tr style="height: 70px; width: 550px;">
                                            <td style="height: 69px; width: 549px;">
                                                <fieldset>
                                                    <%--<legend><%# DataBinder.Eval(Container.DataItem,"Name") %> :--%>
                                                    <asp:Label ID="lblsubject" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Subject") %>' />
                                                    </legend>
                                                    <%# DataBinder.Eval(Container.DataItem ,"Content")%>
                                                </fieldset>
                                            </td>
                                        </tr>
                                        <tr style="height: 20px; width: 550px;">
                                            <td style="height: 20px; width: 549px;">
                                                <telerik:RadButton ID="lnkok" runat="server" Text="Okay" CausesValidation="False"
                                                    ButtonType="StandardButton" AutoPostBack="true" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Id") %>'
                                                    CommandName="vwmsg">
                                                </telerik:RadButton>
                                            </td>
                                        </tr>
                                        <tr style="height: 10px; width: 550px;">
                                            <td style="height: 10px; width: 549px;">
                                            </td>
                                        </tr>
                                        <tr style="height: 70px; width: 550px;">
                                            <td style="height: 70px; width: 549px;">
                                                <fieldset>
                                                    <legend>Reply</legend>
                                                    <table cellpadding="0" cellspacing="0" border="0">
                                                        <tr>
                                                            <td>
                                                                <%--<div id="divreply" runat="server" style="vertical-align: text-top;">--%>
                                                                    <asp:TextBox ID="txtreplymsg" runat="server" Height="60px" Width="150px" BackColor="White"
                                                                        TextMode="MultiLine"  AutoPostBack="true"  ValidationGroup="2" />
                                                                    <asp:RequiredFieldValidator ID="rfvreplymsg" runat="server" ValidationGroup="2" ControlToValidate="txtreplymsg"><img src="../image/reqerrorimg.png" alt="error" />Reply field is empty</asp:RequiredFieldValidator>
                                                                <%--</div>--%>
                                                            </td>
                                                        </tr>
                                                        <tr>
                                                            <td>
                                                          
                                                                <asp:Button ID="radbtnreply" runat="server"  Text="Reply"  AutoPostBack="true"  UseSubmitBehavior="true"
                                                                    CommandArgument='<%# DataBinder.Eval(Container.DataItem,"FromId") %>' CausesValidation="true"
                                                                    ValidationGroup="2"  CommandName="replymsg">
                                                                </asp:Button>
                                                            </td>
                                                        </tr>
                                                    </table>
                                                </fieldset>
                                            </td>
                                        </tr>
                                    </table>
                                </div>
                            </asp:Panel>
                            <asp:ModalPopupExtender ID="modpopextmsg" runat="server" X="300" Y="200" PopupControlID="divmsginfo"
                                BackgroundCssClass="modalBackground" TargetControlID="lnksub" PopupDragHandleControlID="Panelmsg">
                            </asp:ModalPopupExtender>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn>
                        <HeaderStyle Width="30px" HorizontalAlign="Center" />
                        <ItemStyle Width="30px" HorizontalAlign="Center" />
                        <ItemTemplate>
                            <asp:ImageButton ID="imgbtndelete" runat="server" ImageUrl="../image/DeleteIcon.png"
                                CommandName="virtualdel" CommandArgument='<%#  DataBinder.Eval(Container.DataItem,"Id") %>'
                                OnClientClick="return delete_click();" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
                <EditFormSettings>
                    <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                    </EditColumn>
                </EditFormSettings>
            </MasterTableView>
            <ClientSettings AllowColumnsReorder="True">
                <Selecting AllowRowSelect="True" />
            </ClientSettings>
            <FilterMenu EnableImageSprites="False">
            </FilterMenu>
            <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
            </HeaderContextMenu>
        </telerik:RadGrid>
      
    </div>
    <div>
    </div>
    </form>
</body>
</html>


And my Itemcommand_event code  is

 protected void RadGrid2_ItemCommand(object sender, GridCommandEventArgs e)
    {

       

        if (e.CommandName == "replymsg")
        {
            // Grid Find control
            GridEditableItem item = (GridEditableItem)e.Item;
            int mailnoId = Convert.ToInt32(item.GetDataKeyValue("Id").ToString());
            int mainmsgid = Convert.ToInt32(item.GetDataKeyValue("MailID").ToString());
            ModalPopupExtender modpopext = (ModalPopupExtender)item.FindControl("modpopextmsg");
            TextBox txtmessage = (TextBox)item.FindControl("txtreplymsg");
            Label msgsubject = (Label)item.FindControl("lblsubject");
            TextBox txtmsgcontent = (TextBox)e.Item.FindControl("txtreplymsg");
            string fromid = Convert.ToString(e.CommandArgument);
            // reply operation with  readstatus flag update

            string receivertoid = "1020";
            string messagesubject = msgsubject.Text.Trim();
            string msgcontent = txtmessage.Text;

            replyMessage(mainmsgid, receivertoid, fromid, msgcontent, messagesubject);
            //sendingMsg(mainmsgid, receivertoid, fromid, txtmessage.Text.Trim());
            modpopext.Hide();
            //changemsgstatus(mailnoId);
            radgridbind2();
        }
    }

  

1 Answer, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 25 Feb 2011, 05:03 PM
Hi Angshuman,

Can you confirm if the page validation has passed before clicking the link in the grid?

Kind regards,
Iana
the Telerik team
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
Tags
Grid
Asked by
Angshuman
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
Share this question
or