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

How to solve this javascript error in RadGrid

4 Answers 344 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Anto (DLL Version : 2008.3.1314.35)
Top achievements
Rank 2
Anto (DLL Version : 2008.3.1314.35) asked on 06 Oct 2010, 06:32 AM
Hi All,

I have RadGrid with datas which works fine.

I added a new button for delete.

While deleting I get a java script error.

Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: Unable to cast object of type 'Telerik.Web.UI.GridCommandItem' to type 'Telerik.Web.UI.GridEditableItem'.

aspx
<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="Qualification.aspx.cs" Inherits="Products.iSmart.Qualification" %>
<%@ 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">
 
<head runat="server">
    <title>Qualification</title>
     <style type="text/css">
        .GridPager_ImpetusBlue .radslider
        {
            float: left;
            margin: 7px 100px 0 5px;
            padding-bottom: 5px;
        }
        .sliderPagerLabel_ImpetusBlue
        {
            /*float:right;*/
            line-height: 32px;
            padding-top: 8px;
            margin-top: 8px;
        }
        tr.SelectedRow_ImpetusBlue td
        {
            background-color: #FF99FF;
        }
    </style>
    <%--<link rel="stylesheet" type="text/css" href="../Common/includes/style.css"></link>--%>
    <link href="../ImpetusBlue/Grid.ImpetusBlue.css" rel="stylesheet" type="text/css">
    </link>
    <link href="../ImpetusBlue/Menu.ImpetusBlue.css" rel="stylesheet" type="text/css">
    </link>
    <link href="../ImpetusBlue/Slider.ImpetusBlue.css" rel="stylesheet" type="text/css">
    </link>
 <telerik:RadScriptBlock runat="server" ID="RadScriptBlock1">
 
        <script type="text/javascript">
 
            function RTBQualificationclientButtonClicked(sender, args) {
 
                if (args.get_item().get_text() == "Close") {
                    GetRadWindow().Close();
                }
                if (document.getElementById("txtrgQualificationRowIndex").value != "-1") {
                    if (args.get_item().get_text() == "Delete") {
                         
                        //radalert('', null, 100, "Error");
                        radconfirm("Are You Sure, You Want To Delete this Qualification?", ConfirmReasonForDeletionFunction, 280, 100, null, 'Message');
 
                    }
                }
                else {
                    return false;
                }
            }
 
            function rgQualification_RowSelect(sender, eventArgs)
             {
                var rowindex = eventArgs.get_itemIndexHierarchical();
                document.getElementById("<%=txtrgQualificationRowIndex.ClientID%>").value = eventArgs.get_itemIndexHierarchical();
                //alert(rowindex);
 
            }
             
            function RadContextMenuQualification_ItemClientClick(sender, args) {
                document.getElementById("<%=txtMenuMode.ClientID%>").value = args.get_item().get_text();
                if (args.get_item().get_text() == "Delete") {
                    args.set_cancel(true);
                    lastClickedItem = args.get_item();
                    radconfirm("Are You Sure, You Want To Delete this Qualification?", ConfirmReasonForDeletionFunction, 280, 100, null, 'Message');
                }
                var menu = $find("<%=RadContextMenuQualification.ClientID %>");
                menu.hide();
            }
 
            function rgQualification_RowContextMenu(sender, eventArgs)
             {
                document.getElementById("rgQualificationRowIndex").value = eventArgs.get_itemIndexHierarchical();
                var menu = $find("<%=RadContextMenuQualification.ClientID %>");
                menu.show(eventArgs.get_domEvent());
 
 
            }
 
            lastClickedItem = null;
            var clickCalledAfterRadconfirm = false;
 
            function ConfirmReasonForDeletionFunction(args) {
                var Index = $get("<%=txtrgQualificationRowIndex.ClientID%>");
                if (args) {
                    radprompt('Enter Reason ', ConfirmPromptReasonForDeletionFunction, 330, 160, null, 'Reason', '');
                    return false;
                }
                else
                    clickCalledAfterRadconfirm = false;
                Index.value = -1;
                lastClickedItem = null;
            }
 
            function ConfirmPromptReasonForDeletionFunction(args) {
                if (args != null) {
                    if (args.trim()) {
                        clickCalledAfterRadconfirm = true;
                        document.getElementById("<%=txtReason.ClientID%>").value = args;
                        document.getElementById("<%=btnQualificationDelete.ClientID%>").click();
                        return true;
                    }
                    else if (args.trim() != null) {
                        clickCalledAfterRadconfirm = false;
                        radalert('Error: Enter Reason', null, 100, "Error");
                    }
                    lastClickedItem = null;
                }
            
            
        </script>
    </telerik:RadScriptBlock>
</head>
<body>
    <form id="form1" runat="server" method="post">
    <asp:ScriptManager ID="scptMgr" runat="server"></asp:ScriptManager>
   <telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1" IsSticky="true" Style="margin-top: 100px;
        margin-left: 400px; position: absolute; z-index: 100" Transparency="30" HorizontalAlign="Center"
        MinDisplayTime="500" BackColor="#E0E0E0">
        <asp:Image runat="server" ID="LoadingImage1" ImageUrl="~/iSmart/images/Loading.gif"
            AlternateText="Loading..." />
    </telerik:RadAjaxLoadingPanel>
    
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="LoadingPanel1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="rgQualification">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgQualification" />
                    <telerik:AjaxUpdatedControl ControlID="rwmMessageBox" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RadContextMenuQualification">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgQualification" />
                     
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="btnQualificationDelete">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgQualification" />
                     
                    <telerik:AjaxUpdatedControl ControlID="txtrgQualificationRowIndex" />                   
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="RTBQualification">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgQualification" />
                    <telerik:AjaxUpdatedControl ControlID="txtrgQualificationRowIndex" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tbody>
            <tr>
                 
                <td>
                    <table width="100%" cellpadding="5px">
                        <tr>
                            <td>
                                <telerik:RadGrid ID="rgQualification" runat="server" AutoGenerateColumns="false" AllowSorting="true"
                                    AllowPaging="true" Skin="ImpetusBlue" AllowFilteringByColumn="true" Width="650px"
                                    Height="350px" PageSize="5" EnableEmbeddedSkins="false" ImagesPath="~/ImpetusBlue/Grid/"
                                    OnNeedDataSource="rgQualification_NeedDataSource" OnItemCommand="rgQualification_ItemCommand"
                                    OnUpdateCommand="rgQualification_UpdateCommand" OnInsertCommand="rgQualification_InsertCommand" OnInit="rgQualification_Init">
                                    <ClientSettings>
                                        <ClientEvents OnRowContextMenu="rgQualification_RowContextMenu" OnRowSelected="rgQualification_RowSelect" />
                                        <Scrolling AllowScroll="true" UseStaticHeaders="true" SaveScrollPosition="true" />
                                        <Selecting AllowRowSelect="true" />
                                    </ClientSettings>
                                    <PagerStyle Mode="Slider" AlwaysVisible="true" />
                                    <GroupingSettings CaseSensitive="false" />
                                    <MasterTableView AutoGenerateColumns="false" EditMode="EditForms" CommandItemDisplay="Bottom" AllowAutomaticInserts="true"
                                                     AllowAutomaticDeletes="true" DataKeyNames="QualificationID" >
                                        <CommandItemTemplate>
                                            <div>
                                                <table width="103%" border="0" cellpadding="0" cellspacing="0" style="margin-top: -2px;
                                                    margin-left: -4px; margin-bottom: -3px;">
                                                    <tr>
                                                        <telerik:RadToolBar runat="server" ID="RTBQualification" Skin="Office2007" Width="100%" OnButtonClick="RTBQualification_ButtonClick"
                                                            OnClientButtonClicked="RTBQualificationclientButtonClicked">
                                                            <%----%>
                                                            <Items>
                                                             
                                                                <telerik:RadToolBarButton Text="Add" Font-Size="9" ForeColor="#00156E" CommandName="InitInsert"
                                                                    ImagePosition="Left" ImageUrl="images/neww1.gif">
                                                                </telerik:RadToolBarButton>
                                                                <telerik:RadToolBarButton Text="Edit" Font-Size="9" ForeColor="#00156E" CommandName="Edit"
                                                                    ImagePosition="Left" ImageUrl="images/penedit.png">
                                                                </telerik:RadToolBarButton>
                                                                <telerik:RadToolBarButton Text="Delete" Font-Size="9" ForeColor="#00156E" ImagePosition="Left"
                                                                    CommandName="Delete" ImageUrl="images/delneeewww.gif">
                                                                </telerik:RadToolBarButton>
                                                                <telerik:RadToolBarButton Text="Close" Font-Size="9" ForeColor="#00156E" ImagePosition="Left"
                                                                    ImageUrl="images/closeeeeeee.gif">
                                                                </telerik:RadToolBarButton>
                                                                <telerik:RadToolBarButton Text="" Font-Size="9" Width="170px" Enabled="false" ForeColor="#00156E">
                                                                </telerik:RadToolBarButton>
                                                            </Items>
                                                        </telerik:RadToolBar>
                                                    </tr>
                                                </table>
                                            </div>
                                        </CommandItemTemplate>
                                        <Columns>
                                              <telerik:GridBoundColumn UniqueName="QualificationID" DataField="QualificationID" HeaderText="QualificationID"
                                                Visible="false" ReadOnly="true"></telerik:GridBoundColumn>
                                                <telerik:GridTemplateColumn UniqueName="Name" DataField="Name"
                                                HeaderText="QualificationName" HeaderStyle-Width="45%" ItemStyle-Width="45%"
                                                 SortExpression="Qualification Name">
                                                <ItemTemplate>
                                                    <asp:Label ID="LblName" Text='<%#Eval("QualificationName")%>' runat="server"></asp:Label>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <telerik:RadTextBox ID="txtName" TextMode="SingleLine" MaxLength="5"
                                                        EnableEmbeddedSkins="false" Text='<%#Bind("QualificationName")%>' runat="server"
                                                         ToolTip="Maximum Character Allowed is 5">
                                                    </telerik:RadTextBox><asp:Label ID="Label1" runat="server" ForeColor="Red" Text="*"></asp:Label>
                                                    <asp:RequiredFieldValidator ID="RequiredFieldValidatorName" runat="server"
                                                        Display="Dynamic" ErrorMessage="Name Cannot Be Empty" ControlToValidate="txtName"></asp:RequiredFieldValidator>
                                                    <asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label>
                                                    <asp:RegularExpressionValidator ID="RegularExpressionValidatorName"
                                                        runat="server" Display="Dynamic" ControlToValidate="txtName" ValidationExpression="^[a-zA-Z]+$"
                                                        ErrorMessage="Special Characters not Allowed"></asp:RegularExpressionValidator>
                                                    <telerik:RadTextBox runat="server" EnableEmbeddedSkins="false" ID="txtQualificationID"
                                                        Text='<%# Eval("QualificationID") %>' Style="display: none;" Visible="false">
                                                    </telerik:RadTextBox>
                                                </EditItemTemplate>
                                            </telerik:GridTemplateColumn>
                                            
                                            <telerik:GridTemplateColumn UniqueName="Category" DataField="Category"
                                                HeaderText="Category" SortExpression="QualificationCategory" HeaderStyle-Width="45%" ItemStyle-Width="45%">
                                                <ItemTemplate>
                                                    <asp:Label ID="LblCategory" Text='<%#Eval("Category")%>' runat="server"></asp:Label>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <telerik:RadTextBox ID="txtCategory" TextMode="SingleLine" MaxLength="100" Text='<%#Bind("Category")%>'
                                                        runat="server" EnableEmbeddedSkins="false" ToolTip="Maximum Character Allowed is 100">
                                                    </telerik:RadTextBox><asp:Label ID="Label2" runat="server" ForeColor="Red" Text="*"></asp:Label>
                                                    <asp:RequiredFieldValidator ID="rfvCategory" runat="server"
                                                        ErrorMessage="Category Cannot Be Empty" ControlToValidate="txtCategory" Display="Dynamic"></asp:RequiredFieldValidator>
                                                </EditItemTemplate>
                                            </telerik:GridTemplateColumn>
                                        </Columns>
                                        <EditFormSettings>
                                            <EditColumn ButtonType="ImageButton">
                                            </EditColumn>
                                        </EditFormSettings>
                                        <NoRecordsTemplate>
                                            <center>
                                                No Records Found!!!</center>
                                        </NoRecordsTemplate>
                                    </MasterTableView>
                                </telerik:RadGrid>
                                <asp:Label ID="lblMsg" runat="server" ForeColor="White" Text="Impetus" Width="100%" style="text-align:right;"></asp:Label>                                                               
                            </td>
                        </tr>
                    </table>
                    
                    <telerik:RadWindowManager VisibleTitlebar="true" VisibleStatusbar="false" RestrictionZoneID="RestrictionZone"
                        Width="644px" Height="98%" Modal="true" ID="rwmMessageBox" Skin="Office2007"
                        runat="server" DestroyOnClose="true" Behaviors="Close, Move, Resize">
                    </telerik:RadWindowManager>
                    <telerik:RadContextMenu ID="RadContextMenuQualification" runat="server" Skin="Office2007" OnItemClick="RadContextMenuQualification_ItemClick"
                        OnClientItemClicking="RadContextMenuQualification_ItemClientClick">
                        <Items>
                            <telerik:RadMenuItem Text="Add" Value="Add" />
                            <telerik:RadMenuItem Text="Edit" Value="Edit" />
                            <telerik:RadMenuItem Text="Delete" Value="Delete" />
                        </Items>
                    </telerik:RadContextMenu>
                    <asp:Button ID="btnQualificationDelete" runat="server" OnClick="btnQualificationDelete_Click" Style="display: none;" />
                    <input type="hidden" id="rgQualificationRowIndex" name="rgQualificationRowIndex" />
                    <asp:TextBox ID="txtReason" runat="server" Text="0" Style="display: none;"></asp:TextBox>
                    <asp:TextBox ID="txtMenuMode" runat="server" Text="0" Style="display: none;"></asp:TextBox>
                    <asp:TextBox ID="txtrgQualificationRowIndex" runat="server" Text="-1" Style="display: none;"></asp:TextBox>
                </td>
            </tr>
        </tbody>
    </table>
    </form>
</body>
</html>


Here is the .cs page

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Telerik.Web.UI;
using iSmart.BLayer;
using Products.iSmart.BLayer;
 
// Created By   :Kabijoy
// Date         :05/10/2010
// Email ID     :kabijoy.e@impetusconsulting.net 
 
namespace Products.iSmart
{
    public partial class Qualification : System.Web.UI.Page
    {
        blAction objQualification = new blAction(); //Create the object, Used to call BusinessLayer Function.
        static String QualificationID, CompanyID, UserID;
 
        protected void Page_Load(object sender, EventArgs e)
        {
            
            CompanyID = "11";
            UserID = "55";
        }
 
        // To listOut the All Qualification Data Based On Company
        protected void rgQualification_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {
 
            rgQualification.DataSource = objQualification.getQualification(CompanyID);
 
        }
 
 
        protected void rgQualification_Init(object sender, EventArgs e)
        {
            GridFilterMenu menu = rgQualification.FilterMenu;
            int i = 0;
            while (i < menu.Items.Count)
            {
                if (menu.Items[i].Text == "NoFilter" ||
                menu.Items[i].Text == "Contains" ||
                menu.Items[i].Text == "DoesNotContain" ||
                menu.Items[i].Text == "StartsWith" ||
                menu.Items[i].Text == "EndsWith")
                {
                    i++;
                }
                else
                {
                    menu.Items.RemoveAt(i);
                }
            }
        }
 
        //To delete the selected row from grid and Table
        protected void btnQualificationDelete_Click(object sender, EventArgs e)
        {
            String DeleteMessage = String.Empty;
            int rgQualificationRowIndex;
            rgQualificationRowIndex = Convert.ToInt32(txtrgQualificationRowIndex.Text);
            QualificationID = rgQualification.MasterTableView.Items[rgQualificationRowIndex]["QualificationID"].Text;
            //Name = ((Label)rgQualification.MasterTableView.Items[rgQualificationRowIndex]["Name"].FindControl("LblName")).Text;
 
            String Reason = txtReason.Text;
            try
            {
                Int32 IDD = objQualification.DeleteQualification(
                                        QualificationID,
                                        Reason,
                                        UserID,
                                        CompanyID
                    );
 
                if (IDD == -1)
                {
                    DeleteMessage = "Some Internal Problem on Deleting the Data. Try Again later";
                    UDFDisplayMessage(DeleteMessage);
 
 
                }
 
                else if(IDD==1)
                {
                    DeleteMessage = "Data Deleted Successfully";
                    rgQualification.Rebind();
                    UDFDisplayMessage(DeleteMessage);
 
                }
 
            }
            catch (Exception ex)
            {
                DeleteMessage = "Warning : " + ex.Message;
                UDFDisplayMessage(DeleteMessage);
 
            }
            Session["Message"] = DeleteMessage;
            txtrgQualificationRowIndex.Text = "-1";
        }
 
        
         
        protected void RTBQualification_ButtonClick(object sender, RadToolBarEventArgs e)
        {
            String PageClicked = e.Item.Text;
            String Message = String.Empty;
            int rgQualificationRowIndex;
 
            switch (e.Item.Text)
            {
                case "Add":
                    rgQualification.MasterTableView.IsItemInserted = true;
                    rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "";
                    rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Add New Qualification";
                    rgQualification.Rebind();
                    break;
 
                case "Edit":
 
                    if (txtrgQualificationRowIndex.Text != "-1")
                    {
                        rgQualificationRowIndex = Convert.ToInt32(txtrgQualificationRowIndex.Text);
 
                        rgQualification.MasterTableView.Items[rgQualificationRowIndex].Edit = true;
                        rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "Name";
                        rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Edit Qualification : {0}";
                        rgQualification.Rebind();
                        txtrgQualificationRowIndex.Text = "-1";
                    }
                    else
                    {
                        Message = "Select a row to Proceed";
                        UDFDisplayMessage(Message);
                    }
 
                    break;
                case "Delete":
                    //if (txtrgQualificationRowIndex.Text != "-1")
                    //{
                    //}
 
                    //else
                    //{
                    //    Message = "Select a row to Proceed";
                    //    UDFDisplayMessage(Message);
                    //}
                    break;
 
                case "Close":
                    break;
            }
        }
 
        protected void RadContextMenuQualification_ItemClick(object sender, RadMenuEventArgs e)
        {
            int rgQualificationRowIndex;
            rgQualificationRowIndex = Convert.ToInt32(txtrgQualificationRowIndex.Text);
            switch (e.Item.Value)
            {
                case "Edit":
                    rgQualification.MasterTableView.Items[rgQualificationRowIndex].Edit = true;
                    rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "";
                    rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Edit Qualification : ";
                    rgQualification.Rebind();
                    break;
                case "Add":
                    rgQualification.MasterTableView.IsItemInserted = true;
                    rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "";
                    rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Add New Qualification";
                    rgQualification.Rebind();
                    break;
                case "Delete":
                    break;
            }
        }
 
        protected void rgQualification_ItemCommand(object source, GridCommandEventArgs e)
        {
            if (e.CommandName == "Edit")
            {
                rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "";
                rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Edit Qualification : ";
            }
            else if (e.CommandName == "InitInsert")
            {
                rgQualification.MasterTableView.EditFormSettings.CaptionDataField = "";
                rgQualification.MasterTableView.EditFormSettings.CaptionFormatString = "Add New Qualification";
            }
        }
 
        //protected void rgQualification_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
        //{
        //    if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        //    {
        //        GridEditableItem item = (GridEditableItem)e.Item;
 
        //    }
 
        //}
 
        protected void saveQualification(String QualificationID, String Name, String Category,String UserId,String CompanyID, GridCommandEventArgs e)
        {
            String Message = String.Empty;
 
            try
            {
                Int32 ID = objQualification.saveQualification(
                                                        QualificationID,
                                                        Name.Trim(),
                                                        Category.Trim(),
                                                        UserId,
                                                        CompanyID
                                                     );
                if (ID == -1)
                {
                    Message = "Some Internal Problem on Saving the Data. Try Again later";
                    UDFDisplayMessage(Message);
 
                }
                else if (ID == -2)
                {
                    Message = "Error : Data Duplication. Data Already Exists";
                    UDFDisplayMessage(Message);
                }
                else if (ID == 1)
                {
                    e.Canceled = true;
                    e.Item.Edit = false;
                    Message = "Data Saved Successfully ";
                    UDFDisplayMessage(Message);
                }
                else if (ID == 2)
                {
                    e.Canceled = true;
                    e.Item.Edit = false;
                    Message = "Data Updated Successfully ";
                    rgQualification.Rebind();
                    UDFDisplayMessage(Message);
                }
 
            }
            catch (Exception ex)
            {
                Message = "Warning : " + ex.Message;
                e.Canceled = true;
                UDFDisplayMessage(Message);
            }
            txtrgQualificationRowIndex.Text = "-1";
 
        }
 
        protected void openRadWindow(RadWindowManager rwmTemp, string FileName, String Title, Int32 Width, Int32 Height)
        {
            objQualification.openRadWindow(rwmTemp, FileName, Title, Width, Height);
        }
 
        protected void rgQualification_InsertCommand(object source, GridCommandEventArgs e)
        {
 
            GridEditFormInsertItem insertedItem = (GridEditFormInsertItem)e.Item;
            Hashtable newValues = new Hashtable();
            e.Item.OwnerTableView.ExtractValuesFromItem(newValues, insertedItem);
            saveQualification(
                               "0",
                               ((RadTextBox)insertedItem.FindControl("txtName")).Text,
                               ((RadTextBox)insertedItem.FindControl("txtCategory")).Text,
                               UserID,
                               CompanyID,
                               e
                           );
 
        }
 
 
        protected void rgQualification_UpdateCommand(object source, GridCommandEventArgs e)
        {
            GridEditFormItem updatedItem = (GridEditFormItem)e.Item;
            Hashtable newValues = new Hashtable();
            e.Item.OwnerTableView.ExtractValuesFromItem(newValues, updatedItem);
            saveQualification(
                                ((RadTextBox)updatedItem.FindControl("txtQualificationID")).Text,
                                ((RadTextBox)updatedItem.FindControl("txtName")).Text,
                                ((RadTextBox)updatedItem.FindControl("txtCategory")).Text,
                                UserID,
                                CompanyID,
                                e
                            );
 
        }
 
        private void UDFDisplayMessage(string text)
        {
            rgQualification.Controls.Add(new LiteralControl(string.Format("<span style='font-weight: bold; color: red;'>{0}</span>", text)));
        }
 
        
    }
}

Is there any option to solve this.

Have even attached the screen shot.

Thanking You

-Anto

4 Answers, 1 is accepted

Sort by
0
Marin
Telerik team
answered on 08 Oct 2010, 08:25 AM
Hello Anto,

The problem is that you are trying to use automatic operation for the grid, when you have custom buttons that perform those operations. Automatic operations are only allowed when we have declarative databinding in the grid, using the DateSourceID property of the control. For more information see the following article.

To fix the problem you have to disable AutomaticUpdates, Inserts and Deletes and handle those operations manually in code behind (e.g. OnItemCommand).
<MasterTableView  AllowAutomaticInserts="false" AllowAutomaticUpdates="false" AllowAutomaticDeletes="false">
For more information you may refer to the following articles:
http://www.telerik.com/help/aspnet-ajax/grdinsertupdatedeleteatdatabaselevel.html
http://www.telerik.com/help/aspnet-ajax/grdhowtodeletearecord.html

Best wishes,
Marin
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
0
Rose
Top achievements
Rank 1
answered on 10 Dec 2010, 07:14 PM



protected void Page_Load(object sender, EventArgs e)
   {
       Sess.IDTable["Charts"] = 4;
       if (!IsPostBack)
       {
            LoadNeuropsychological();
             rgNeuropsychological.DataBind();
       }
   }
   #region Neuropsychological
   protected void rgNeuropsychological_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
   {
       string SQL = "select ID, NeuropsychologicalDate from ChartsToNeuropsychologicals where ChartID=" + Sess.IDTable["Charts"];
       DataTable tableNeuropsychological = Data.GetDataTable(SQL);
       this.rgNeuropsychological.DataSource = tableNeuropsychological;
  //     this.rgNeuropsychological.DataSource = LoadNeuropsychological();
   }
       <telerik:RadGrid ID="rgNeuropsychological" runat="server" GroupingEnabled="False" Skin="Simple" OnItemDataBound="rgNeuropsychological_OnItemDataBound"
                       AutoGenerateColumns="False"  OnUpdateCommand="rgNeuropsychological_UpdateCommand" OnNeedDataSource="rgNeuropsychological_NeedDataSource"
                       OnCancelCommand="rgNeuropsychological_CancelCommand" OnDeleteCommand="rgNeuropsychological_DeleteCommand" OnInsertCommand="rgNeuropsychological_InsertCommand"
                      AllowAutomaticDeletes="True"  
                       GridLines="None" AllowPaging="True" AllowSorting="True" PageSize="10">
                       <MasterTableView EditMode="EditForms" CommandItemDisplay="Top" DataKeyNames="ID" AllowAutomaticInserts="true" AllowAutomaticUpdates="true" AllowAutomaticDeletes="true">
                       
                       <Columns>
                               <telerik:GridTemplateColumn HeaderText="ID">
                                   <ItemTemplate>
                                       <%# DataBinder.Eval(Container.DataItem, "ID") %></ItemTemplate>
                               </telerik:GridTemplateColumn>
                             
                                 
                                  
                     
                               <telerik:GridTemplateColumn     DataField="NeuropsychologicalDate" UniqueName="NeuropsychologicalDate" HeaderText="Date">
                                   <ItemTemplate>
                                       <asp:Label ID="lblNeuropsychologicalDate" runat="server" Text=' <%# DataBinder.Eval(Container.DataItem, "NeuropsychologicalDate") %>'></asp:Label>
                                   </ItemTemplate>
                               </telerik:GridTemplateColumn>
                               <telerik:GridEditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel"
                                   EditText="Edit" InsertText="Add">
                               </telerik:GridEditCommandColumn>
                               <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumn">
                                   <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
                               </telerik:GridButtonColumn>
                           </Columns>
                           <EditFormSettings>
                               <EditColumn ButtonType="ImageButton" />
                           </EditFormSettings>
                           <EditFormSettings EditFormType="Template">
                               <FormTemplate>
                                   <table>
                                       <tr>
                                           <td align="left">
                                               ID
                                           </td>
                                           <td align="left">
                                               <asp:Label ID="lblID" runat="server" Text='<%# Bind("ID") %>' Visible="True" />
                                           </td>
                                       </tr>
                                       <tr>
                                           <td align="left">
                                               Date
                                           </td>
                                                     <cc1:XCMaskDateEdit ID="XCMaskDateEdit1"      TextWithLiterals='<%# Bind("NeuropsychologicalDate") %>' runat="server">
                                               </cc1:XCMaskDateEdit>
                                               <asp:CustomValidator ID="CustomValidatorDateMask" runat="server" ControlToValidate="XCMaskDateEdit1" OnServerValidate="OnServerValidate_CustomValidatorDateMask" ErrorMessage="valid date format: mm/dd/yyyy or mm/yyyy or yyyy"></asp:CustomValidator>
                                              
                                           </td>
                                           <tr>
                                               <td align="right" colspan="2">
                                                   <asp:Button ID="btnUpdate" Text='<%# (Container as GridItem).OwnerTableView.IsItemInserted ? "Insert" : "Update" %>'
                                                       runat="server" CommandName='<%# (Container as GridItem).OwnerTableView.IsItemInserted ? "PerformInsert" : "Update" %>'>
                                                   </asp:Button>
                                                   <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False"
                                                       CommandName="Cancel"></asp:Button>
                                               </td>
                                           </tr>
                                   </table>
                               </FormTemplate>
                           </EditFormSettings>
                       </MasterTableView>
                       <SelectedItemStyle BackColor="#FFCCCC" BorderStyle="Solid" />
                       <ClientSettings ActiveRowIndex="0" EnablePostBackOnRowClick="True">
                           <Selecting AllowRowSelect="True" EnableDragToSelectRows="False" />
                       </ClientSettings>
                       <ActiveItemStyle BackColor="#FFFFCC" BorderStyle="Solid" />
                   </telerik:RadGrid>
Hi, I have a similar problem and have search the forums but haven't been able to resolve this issue.   I am getting a JScript runtime error ONLY when there is no data. This is the version I'm using

2010.3.1109.40.  and this site said that there are no updates .
Any help is appreciated.

Thanks

0
Marin
Telerik team
answered on 13 Dec 2010, 03:02 PM
Hi Rose,

The issue seems to be related with the ActiveRowIndex property of the client settings for the grid:
<ClientSettings ActiveRowIndex="0"

If you remove it, the error should not be thrown. Also, note that this issue has been addressed in the latest internal build available on the web site.

Greetings,
Marin
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
Rose
Top achievements
Rank 1
answered on 13 Dec 2010, 04:34 PM
Hi,

Thanks that did the trick.

Rose
Tags
Grid
Asked by
Anto (DLL Version : 2008.3.1314.35)
Top achievements
Rank 2
Answers by
Marin
Telerik team
Rose
Top achievements
Rank 1
Share this question
or