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

Grid is posting back on Filterbutton click

4 Answers 112 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Tim
Top achievements
Rank 1
Tim asked on 06 Nov 2013, 05:07 PM
Think I found one issue, this call is not finding the grid

"$find("ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_ReportsList_CustomReportGrid")._showFilterMenu("ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_ReportsList_CustomReportGrid_ctl00",



Be patient I am new to using telerik

No Text in filter text box.  Click filter button to bring up menu, the menu never appears but a whole page post back occurs. We have just updated our Telerik from 2010 to RadControl AJAX Q2 2013.  

AutoGenerateColumns is used and the calendar button is not working either for dated columns it just places a '#' in the address url. 


<telerik:RadGrid EnableEmbeddedSkins="true" ID="CustomReportGrid" runat="server" AutoGenerateColumns="true" ShowFooter="true" AllowSorting="true"
                AllowPaging="true" AllowFilteringByColumn="true" PagerStyle-Mode="NextPrevAndNumeric"
                PageSize="50" EnableOutsideScripts="false"
                MasterTableView-NoMasterRecordsText="No records to display." ><ExportSettings OpenInNewWindow="true" FileName="CustomReport">
                    <Pdf PageWidth="3000px"  PaperSize="A4" AllowPrinting="true" PageBottomMargin="10px" PageTopMargin="25px"
                        PageHeaderMargin="0px" PageLeftMargin="10px" PageRightMargin="10px" PageTitle="CustomReport" />
                </ExportSettings>
                <ClientSettings>
                    <Scrolling UseStaticHeaders="true" />
                </ClientSettings>
                <ItemStyle BackColor="transparent" HorizontalAlign="Left" />
                <HeaderStyle HorizontalAlign="Left" />
                <FilterItemStyle HorizontalAlign="Left" />
                <AlternatingItemStyle BackColor="#F9F9F9" />
            </telerik:RadGrid>

This is the markup that is being generated for the filter button

<input id="ctl00_BodyContentPlaceHolder_ReportsList_CustomReportGrid_ctl00_ctl02_ctl02_Filter_Client Name" class="rgFilter" type="submit" title="Filter" onclick="$find("ctl00_BodyContentPlaceHolder_ReportsList_CustomReportGrid")._showFilterMenu("ctl00_BodyContentPlaceHolder_ReportsList_CustomReportGrid_ctl00", "Client Name", event); return false;" value=" " name="ctl00$BodyContentPlaceHolder$ReportsList$CustomReportGrid$ctl00$ctl02$ctl02$Filter_Client Name"></input>


This is the markup for the calendar button on the date column filter

<a id="ctl00_BodyContentPlaceHolder_ReportsList_CustomReportGrid_ctl00_ctl02_ctl02_RDIPFRequested Date_popupButton" class="rcCalPopup" href="#" title="Open the calendar popup."> … </a>


4 Answers, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 11 Nov 2013, 02:59 PM
Hello Tim,

For more information about grid client-side object and how to find it you can refer to the article below:
http://www.telerik.com/help/aspnet-ajax/grid-getting-client-object.html

Additionally, can you verify that you didn't get any javascript error when you run the application? Also specify how the grid is bound.

Regards,
Pavlina
Telerik
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 the blog feed now.
0
Tim
Top achievements
Rank 1
answered on 11 Nov 2013, 03:33 PM
Here is the .ascx page and the .cs page.  Figured it would be best just to post these.   These Grid were working before upgrading.  Went from Q2 2010 to Q2 2013 grid control.

CustumReport.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CustomReport.ascx.cs" Inherits="RRD.DSA.SCP.Web.UI.ClientPortal.Controls.Lists.CustomReport" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register TagPrefix="rrd" TagName="ExplorerToolbar" Src="~/Controls/ExplorerToolbar.ascx" %>
<script language="javascript" type="text/javascript">
 
    var needToHideLoadingDiv = false;
 
    function ExportData(exportType) {
        var frm = document.forms['aspnetForm'];
        needToHideLoadingDiv = true;
 
        frm.__EVENTTARGET.value = 'Export';
        frm.__EVENTARGUMENT.value = exportType;
        frm.submit();
    }
 
    window.onbeforeunload = function () {
        if (needToHideLoadingDiv)
            HideLoadingDiv();
        else
            showLoadingDiv();
 
        needToHideLoadingDiv = false;
    }
     
</script>
<div class="divTableExplorer" id="divTableExplorer">
    <div class="row">
        <div style="float: left">
            <rrd:ExplorerToolbar ID="ExportToolbar" runat="server" />
        </div>
        <div style="float: right" class="rrd-infobar" id="ReturnToBackPage" runat="server" visible="false">
            <a runat="server" id="returnToRendtitionPage" style="color:#fff;">Return to Renditions List</a>
        </div>
        <div class="clear"></div>
    </div>
</div>
<div class="divTable" id="divTable">
    <div class="row">
        <div class="divTableContent" id="divTableContent">
            <telerik:RadGrid EnableEmbeddedSkins="true" ID="CustomReportGrid" runat="server" AutoGenerateColumns="true" ShowFooter="true" AllowSorting="true"
                AllowPaging="true" AllowFilteringByColumn="true" PagerStyle-Mode="NextPrevAndNumeric"
                PageSize="50" EnableOutsideScripts="true" OnInit="CustomReportGrid_Init" OnNeedDataSource="CustomReportGrid_NeedDataSource" OnItemCommand="CustomReportGrid_ItemCommand" OnItemDataBound="CustomReportGrid_ItemDataBound"
                 OnItemCreated="CustomReportGrid_ItemCreated"
                MasterTableView-NoMasterRecordsText="No records to display." OnColumnCreated="CustomReportGrid_ColumnCreated" OnSortCommand="CustomReportGrid_SortCommand" >
                <ExportSettings OpenInNewWindow="true" FileName="CustomReport">
                    <Pdf PageWidth="3000px"  PaperSize="A4" AllowPrinting="true" PageBottomMargin="10px" PageTopMargin="25px"
                        PageHeaderMargin="0px" PageLeftMargin="10px" PageRightMargin="10px" PageTitle="CustomReport" />
                </ExportSettings>
                <ClientSettings>
                    <Scrolling UseStaticHeaders="true" />
                </ClientSettings>
                <ItemStyle BackColor="transparent" HorizontalAlign="Left" />
                <HeaderStyle HorizontalAlign="Left" />
                <FilterItemStyle HorizontalAlign="Left" />
                <AlternatingItemStyle BackColor="#F9F9F9" />
            </telerik:RadGrid>
        </div>
    </div>
</div>





CustomReport.ascx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Web.UI;
using System.Web.UI.WebControls;
using RRD.DSA.Core;
using RRD.DSA.SCP.ObjectModel.Factories;
using RRD.DSA.SCP.ObjectModel.UI;
using RRD.DSA.SCP.Utilities;
using Telerik.Web.UI;
 
 
namespace RRD.DSA.SCP.Web.UI.ClientPortal.Controls.Lists
{
    public partial class CustomReport
        : List
    {
        #region Fields
 
        const string PDFImageUrl = "/images/pdfLarge.gif";
        const string ExcelImageUrl = "/images/types/Excel_lg.gif";
        const string CSVImageUrl = "/images/types/csv_lg.gif";
        public static DateTime NewEventDate;
        public static string OldEventDate;
        public static string filterExpression;
        public static bool IsDateFormatDifferent;
        public static DataTable dtAuditTrailSchema;
        public static bool eventDateFilterContainsEqualTo;
        public string ExportMenuDescriptionHelper = " Custom Report";
        const string SortDirectionViewStateKey = "SortDirection";
        const string SortExpressionViewStateKey = "SortExpression";
        private List<string> datecolumn = new List<string>();
        private List<string> dateformats = new List<string>();
        private bool isExport = false;
        private bool isCSVExport = false;
        private bool isPDFExport = false;
        DateTime minDateTime = new DateTime(1753, 1, 1);
 
        #endregion
 
        #region Properties
 
        /// <summary>
        /// Gets or sets the stored proc
        /// </summary>
        ///
        public string StoredProc { get; set; }
 
        public string ReportName { get; set; }
 
        #endregion
 
        #region Event Handlers
 
        protected void Page_Load(object sender, EventArgs e)
        {
            this.ExportMenuDescriptionHelper = "Custom Report";
 
            // If viewstate is disabled then NeedDataSource event will not be fired and that would cause problem in export.
            CustomReportGrid.EnableViewState = true;
 
            if (!IsPostBack)
            {
 
                ConfigureCustomGrid(CustomReportGrid, true);
                InitializeMenu();
            }
            else
            {
                Export();
            }
 
        }
 
        protected void Page_PreRender(object sender, EventArgs e)
        {
            EnableMenu();
        }
 
        protected void CustomReportGrid_Init(object sender, System.EventArgs e)
        {
            var menu = CustomReportGrid.FilterMenu;
            int i = 0;
            while (i < menu.Items.Count)
            {
                if (
                        menu.Items[i].Text == "NoFilter" ||
                        menu.Items[i].Text == "Contains" ||
                        menu.Items[i].Text == "EqualTo" ||
                        menu.Items[i].Text == "GreaterThan" ||
                        menu.Items[i].Text == "LessThan" ||
                        menu.Items[i].Text == "GreaterThanOrEqualTo" ||
                        menu.Items[i].Text == "LessThanOrEqualTo"
                  )
                {
                    i++;
                }
                else
                {
                    menu.Items.RemoveAt(i);
                }
            }
        }
 
        protected void CustomReportGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {
            CustomReportGrid.DataSource = null;
            DataTable mysource = GetGridDataSource();
            if (mysource != null)
            {
                if (isCSVExport == true)
                {
                    for (int k1 = 0; k1 < mysource.Columns.Count; k1++)
                    {
                        if (mysource.Columns[k1].DataType.Name == "DateTime")
                        {
                            string headertext = mysource.Columns[k1].ColumnName;
                            string format = "";
 
                            if (headertext.Contains("|"))
                            {
                                int startpipe = headertext.IndexOf("|");
                                int endpipe = headertext.IndexOf("|", startpipe + 1);
 
 
 
 
                                if (startpipe > 0 && endpipe > 0)
                                    format = headertext.Substring(startpipe + 1, endpipe - startpipe - 1);
 
 
                                dateformats.Add(format);
 
                                mysource.Columns[k1].ColumnName = headertext.Substring(0, (headertext.IndexOf("|")));
                                datecolumn.Add(mysource.Columns[k1].ColumnName);
                            }
                            else
                            {
                                datecolumn.Add(headertext);
                                dateformats.Add(format);
                            }
                        }
                    }
 
                    //Update sortexpressions
 
                    for (int k1 = 0; k1 < CustomReportGrid.MasterTableView.SortExpressions.Count; k1++)
                    {
                        string headertext = CustomReportGrid.MasterTableView.SortExpressions[k1].FieldName;
 
                        if (headertext.Contains("|"))
                        {
                            headertext = headertext.Substring(0, (headertext.IndexOf("|")));
                            CustomReportGrid.MasterTableView.SortExpressions[k1].FieldName = headertext;
                        }
                    }
                }
            }
 
 
            CustomReportGrid.DataSource = mysource;
            CustomReportGrid.Skin = "Office2007";
        }
 
        protected void CustomReportGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridFilteringItem && isExport)
                e.Item.Visible = false;
        }
 
        protected void CustomReportGrid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
 
            if (isPDFExport == true)
            {
                if (e.Item is GridHeaderItem)
 
 
 
                    foreach (TableCell cell in e.Item.Cells)
                    {
 
                        cell.Style["font-size"] = "14pt";
                    }
            }
 
            if (e.Item is GridDataItem)
            {
                GridDataItem item = e.Item as GridDataItem;
 
                for (int k1 = 0; k1 < datecolumn.Count; k1++)
                {
                    if (item[datecolumn[k1]].Text.Trim().Length > 0 && item[datecolumn[k1]].Text.Trim() != " ")
                    {
 
                        DateTime result = new DateTime();
                        if (DateTime.TryParse(item[datecolumn[k1]].Text, out result) == true)
                        {
                            if (result != minDateTime)
                            {
                                string format = dateformats[k1];
                                if (format != "")
                                {
                                    item[datecolumn[k1]].Text = DateTimeUtility.GetFormattedDate(result, format);
                                }
 
                                else
                                {
                                    try
                                    {
                                        item[datecolumn[k1]].Text = DateTimeUtility.GetFormattedDateTimeInUserTimeZone(System.Convert.ToDateTime(result), this.CurrentUser.TimeZoneInfo, this.CurrentUser.AbbreviatedTimeZone);
                                    }
                                    catch
                                    {
 
                                    }
                                }
                            }
                            else
                            {
                                item[datecolumn[k1]].Text = "";
                            }
                        }
                    }
                }
 
                if (isExport == true)
                {
                    foreach (TableCell cv in item.Cells)
                    {
                        // Set Excel style to be general format   
                        cv.Style["mso-number-format"] = "\\@";
                        // Replace   with regular space
                        if (isCSVExport == true)
                        {
 
                            if (cv.Text == " ")
                                cv.Text = "";
                            else
                               cv.Text = "=" + "\"\"" + cv.Text + "\"\"";
                        }
                    }
                }
            }
        }
 
        protected void CustomReportGrid_ItemCommand(object s, GridCommandEventArgs e)
        {
            if (e.CommandName == "Filter")
            {
 
            }
        }
 
        protected void CustomReportGrid_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
        {
 
            e.Column.SortExpression = e.Column.UniqueName;
            e.Column.SortAscImageUrl = "/Images/SortAsc.gif";
            e.Column.SortDescImageUrl = "/Images/SortDesc.gif";
            e.Column.HeaderButtonType = GridHeaderButtonType.TextButton;
            e.Column.HeaderStyle.Font.Size = new FontUnit(7, UnitType.Point);
            e.Column.HeaderStyle.ForeColor = Color.DarkBlue;
            e.Column.HeaderStyle.Font.Name = "Tahoma";
 
            if (isCSVExport == false)
            {
                if (e.Column.DataType.Name == "DateTime")
                {
                    string headertext = e.Column.HeaderText;
                    string format = "";
                    if (headertext.Contains("|"))
                    {
                        int startpipe = headertext.IndexOf("|");
                        int endpipe = headertext.IndexOf("|", startpipe + 1);
 
                        if (startpipe > 0 && endpipe > 0)
                            format = headertext.Substring(startpipe + 1, endpipe - startpipe - 1);
 
                        datecolumn.Add(headertext);
                        dateformats.Add(format);
                        e.Column.HeaderText = headertext.Substring(0, (headertext.IndexOf("|")));
 
                    }
                    else
                    {
                        datecolumn.Add(headertext);
                        dateformats.Add(format);
                    }
                }
            }
        }
 
        protected void CustomReportGrid_SortCommand(object source, GridSortCommandEventArgs e)
        {
            string lastExpression = string.Empty;
 
            if (ViewState[SortExpressionViewStateKey] != null)
            {
                lastExpression = ViewState[SortExpressionViewStateKey].ToString();
            }
 
            string lastDirection = "asc";
 
            if (ViewState[SortDirectionViewStateKey] != null)
            {
                lastDirection = ViewState[SortDirectionViewStateKey].ToString();
            }
 
            string newDirection = "asc";
 
            if (e.SortExpression == lastExpression)
            {
                newDirection = (lastDirection == "asc") ? "desc" : "asc";
            }
 
            ViewState[SortExpressionViewStateKey] = e.SortExpression;
            ViewState[SortDirectionViewStateKey] = newDirection;
 
            DataView dataView = GetSortTableView();
 
            if (this.ViewState[SortExpressionViewStateKey] != null)
            {
 
                dataView.Sort = String.Concat
                (
                    ViewState[SortExpressionViewStateKey].ToTypeOrDefault<string>(),
                    " ",
                    ViewState[SortDirectionViewStateKey].ToTypeOrDefault<String>()
                );
            }
 
            CustomReportGrid.DataSource = dataView;
            CustomReportGrid.DataBind();
        }
 
        #endregion
 
        #region Methods
 
        /// <summary>
        /// Gets the grid data source.
        /// </summary>
        /// <returns></returns>
        protected override DataTable GetGridDataSource()
        {
 
            if (CustomReportGrid.MasterTableView.FilterExpression == string.Empty)
            {
                dtAuditTrailSchema = new ReportsFactory(this.CurrentContext).RetrieveFromProc(StoredProc);
                return dtAuditTrailSchema;
            }
            else
            {
                try
                {
                    filterExpression = CustomReportGrid.MasterTableView.FilterExpression.ToString();
 
                    int startpipe = filterExpression.IndexOf("|");
                    int endpipe = filterExpression.IndexOf("|", startpipe + 1);
 
                    if (startpipe > 0 && endpipe > 0)
                    {
                        string format = filterExpression.Substring(startpipe, (endpipe - startpipe) + 1);
                        filterExpression = filterExpression.Replace(format, "");
                    }
 
                    DataTable CustomReportTable;
 
                    CustomReportTable = GetCustomReportDataSource(filterExpression);
 
                    return CustomReportTable;
                }
                catch
                {
                    CustomReportGrid.MasterTableView.NoMasterRecordsText = "The report is too large to return in a brief time. Please filter the report to show fewer items";
                    return null;
                }
            }
        }
 
        public DataTable GetCustomReportDataSource(string filter)
        {
 
            return new ReportsFactory(this.CurrentContext).RetrieveFromProcWithFilter(StoredProc, filter);
        }
 
        void ConfigureCustomGrid(RadGrid grid,
           bool allowSorting = false)
        {
            if (grid == null)
                return;
 
            grid.ShowFooter = true;
            grid.HeaderStyle.HorizontalAlign = HorizontalAlign.Left;
 
            grid.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
 
 
            grid.Skin = "Office2007";
            grid.AllowPaging = true;
            grid.AllowSorting = allowSorting;
            grid.AlternatingItemStyle.BackColor = System.Drawing.Color.FromArgb(240, 240, 240);
 
            grid.DataSource = DataSource;
 
            grid.NeedDataSource += (o, e) => grid.DataSource = DataSource;
            grid.MasterTableView.Width = Unit.Percentage(100);
            //grid.EnableViewState = false;
 
            grid.Visible = true;
            grid.Width = Unit.Percentage(100);
 
            if (grid.AllowFilteringByColumn)
            {
                RemoveUnnecessaryFilterOptions(grid);
            }
        }
 
        void RemoveUnnecessaryFilterOptions(RadGrid grid)
        {
            if (grid.FilterMenu != null)
            {
                for (int i = 0; i < grid.FilterMenu.Items.Count; )
                {
                    if (grid.FilterMenu.Items[i].Text.IsNotOneOf(
                            "NoFilter", "Contains", "EqualTo", "GreaterThan",
                            "LessThan", "GreaterThanOrEqualTo", "LessThanOrEqualTo")
                    )
                    {
                        grid.FilterMenu.Items.RemoveAt(i);
                    }
                    else
                    {
                        i++;
                    }
                }
            }
        }
        /// <summary>
        /// Initializes the menu.
        /// </summary>
        void InitializeMenu()
        {
            if (((DataTable)CustomReportGrid.DataSource).Rows.Count > 0)
            {
                CreateExportMenu();
            }
        }
 
        void EnableMenu()
        {
            if (CustomReportGrid.DataSource != null)
            {
                if (CustomReportGrid.DataSource is DataTable)
                {
                    if (((DataTable)CustomReportGrid.DataSource).Rows.Count == 0)
                    {
                        ExportToolbar.Visible = false;
                    }
                    else
                    {
                        ExportToolbar.Visible = true;
                    }
                }
            }
            else
            {
                ExportToolbar.Visible = false;
            }
        }
 
        void CreateExportMenu()
        {
            MenuItem newMenu = ExportToolbar.CreateTopLevelMenu("Export");
 
            ExportToolbar.AppendMenuItem(newMenu, ExportFileType.PDF.ToString(), "Export a PDF file of the " + this.ExportMenuDescriptionHelper + ".",
                                                                                                        PDFImageUrl, "javascript:ExportData('PDF');");
            ExportToolbar.AppendMenuItem(newMenu, ExportFileType.Excel.ToString(), "Export an Excel file of the " + this.ExportMenuDescriptionHelper + ".",
                                                                                                        ExcelImageUrl, "javascript:ExportData('Excel');");
            ExportToolbar.AppendMenuItem(newMenu, ExportFileType.CSV.ToString(), "Export a CSV file of the " + this.ExportMenuDescriptionHelper + ".",
                                                                        CSVImageUrl, "javascript:ExportData('CSV');");
            ExportToolbar.AppendTopLevelMenu(newMenu);
            ExportToolbar.AppendMenuItemSeperator();
        }
 
        void Export()
        {
            if (Request["__EVENTTARGET"] != null && Request["__EVENTARGUMENT"] != null && Request["__EVENTTARGET"].Equals("Export", StringComparison.CurrentCultureIgnoreCase))
            {
 
                isExport = true;
 
                ExportFileType exportFileType = (ExportFileType)Enum.Parse(typeof(ExportFileType), Request["__EVENTARGUMENT"], true);
 
                if (exportFileType == ExportFileType.CSV)
                    isCSVExport = true;
 
                if (exportFileType == ExportFileType.PDF)
                    isPDFExport = true;
                CustomReportGrid.ExportSettings.Pdf.PageTitle = this.ReportName;
 
                base.Export(CustomReportGrid, this.ReportName.Replace(" ", string.Empty), exportFileType, true, true);
            }
        }
 
        DataView GetSortTableView()
        {
            return GetGridDataSource().DefaultView;
        }
 
        #endregion
 
        #region Protected Method Overrides
 
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            string script = @"
RRD.addResizeWidthSelector(""#divTableContent"", "".bodyCellContainerOverflow"");
RRD.addResizeHeightSelector(""#divTableContent"", "".bodyCell"", ""#divTableExplorer"");
";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "startup {0:s}".format(this.UniqueID), script, true);
        }
 
        #endregion
    }
}
0
Tim
Top achievements
Rank 1
answered on 11 Nov 2013, 03:49 PM
Error 1 on page load: 

SCRIPT5022: Syntax error, unrecognized expression: #ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_ReportsList_CustomReportGrid_ctl00_ctl02_ctl02_RDIPFEffective Date|dd-MMM-yyyy|_dateInput 
jquery-1.10.1.min.js, line 4 character 16403


Error 2 on clicking the filter button:

Here is a the error that I mentioned in my first post.  I can locate this using javascript.  But the $find('') way returns null.
SCRIPT5007: Unable to get property '_showFilterMenu' of undefined or null reference 
CustomReport.aspx, line 568 character 196

The offending input as rendered.

<input type="submit" name="ctl00$ctl00$BodyContentPlaceHolder$BodyContentPlaceHolder$BillingPage$CustomReportGrid$ctl00$ctl02$ctl02$Filter_Rendition" value=" " onclick="$find("ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_BillingPage_CustomReportGrid")._showFilterMenu("ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_BillingPage_CustomReportGrid_ctl00", "Rendition", event); return false;" id="ctl00_ctl00_BodyContentPlaceHolder_BodyContentPlaceHolder_BillingPage_CustomReportGrid_ctl00_ctl02_ctl02_Filter_Rendition" title="Filter" class="rgFilter" />
0
Pavlina
Telerik team
answered on 15 Nov 2013, 07:26 AM
Hi Tim,

I already answered the support ticket you opened on the matter. In order to avoid duplicate posts I will ask you to continue our communication there.

Regards,
Pavlina
Telerik
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 the blog feed now.
Tags
Grid
Asked by
Tim
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Tim
Top achievements
Rank 1
Share this question
or