Unplanned
Last Updated: 27 Aug 2020 09:02 by ADMIN
Created by: Dan Avni
Comments: 0
Category: Grid
Type: Feature Request
0
I have a hierarchical grid displaying work orders and under each work order its tasks. I 'am allowing the user to resize columns, reorder columns and use the context menu column picker on both levels of the grid (work orders and tasks). I want to make it so when the user does any action on a child task grid (resize column, reorder, show/hide column) the action will be synchronized to all other child tables

Unplanned
Last Updated: 09 Jun 2021 18:09 by ADMIN

Reproduction of the issue

RadGrid declaration

<telerik:RadButton runat="server" Text="PostBack"  AutoPostBack="true"></telerik:RadButton>
<telerik:RadGrid runat="server" ID="RadGrid2">
    <MasterTableView DataKeyNames="Column1" ClientDataKeyNames="Column1" CommandItemDisplay="Top">
            <Columns>
            <telerik:GridBoundColumn UniqueName="Col1" DataField="Column1" HeaderText="Col1"s></telerik:GridBoundColumn>
                <telerik:GridBoundColumn UniqueName="Col2" DataField="Column2" HeaderText="Col2"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn UniqueName="Co13" DataField="Column3" HeaderText="Co13"></telerik:GridBoundColumn>
                <telerik:GridBoundColumn UniqueName="Col4" DataField="Column4" HeaderText="Col4"></telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings ReorderColumnsOnClient="false" AllowColumnsReorder="true">
            <DataBinding Location="~/Api/RevCodeGrid" SelectMethod="GetDataAndCount2"   >
        </DataBinding>
    </ClientSettings>
</telerik:RadGrid>

 

RevCodeGridController

public class Test
{
    public String Column1 { get; set; }
    public String Column2 { get; set; }
    public String Column3 { get; set; }
    public String Column4 { get; set; }
}


[HttpPost]
public virtual RadGridResultData GetDataAndCount2(object context)
{
    List<Test> items = new List<Test>();
    items.Add(new Test() { Column1 = "1", Column2 = "A", Column3 = "A1", Column4 = "A12" });
    items.Add(new Test() { Column1 = "2", Column2 = "B", Column3 = "B1", Column4 = "B12" });
    items.Add(new Test() { Column1 = "3", Column2 = "C", Column3 = "C1", Column4 = "C12" });
    items.Add(new Test() { Column1 = "4", Column2 = "D", Column3 = "D1", Column4 = "D12" });

    return new RadGridResultData { Data = items, Count = items.Count };
}

 

 

 

 

 

 

 

Unplanned
Last Updated: 14 Oct 2020 10:23 by ADMIN
When Exce-Like filtering is enabled for the Grid, the Accessibility Validation Tools detect errors such as "A button is empty or has no value" and "Missing form label".
Unplanned
Last Updated: 12 Nov 2020 15:57 by ADMIN
Regardless of which item is being clicked on, the e.Item will always be the first from the list.
Unplanned
Last Updated: 11 Feb 2021 21:09 by ADMIN

Hi

AllowKeyboardNavigation="true" allow for users to navigate the grid with the keyboard. This is great for people with disabilities and Section 508 compliance. But when this is enabled, and the "Enter" key is pressed, the default behavior is to present an update process.

This update process should be controllable when AllowKeyboardNavigation="true".

Just as a user note ... when I was trying to figure this out, reading through the options, the EditMode was the first place I started looking.

Here is the current workaround ... How do I disable editing when AllowKeyboardNavigation="true"? in UI for ASP.NET AJAX Grid - Telerik Forums

Hope this suggestion helps

Unplanned
Last Updated: 02 Nov 2021 13:47 by ADMIN

Server Error in '/' Application.

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
   System.Web.UI.WebControls.ModelDataSourceView.FindMethod(String methodName) +165
   System.Web.UI.WebControls.ModelDataSourceView.EvaluateSelectParameters() +75
   System.Web.UI.WebControls.ModelDataSourceView.OnPageLoadComplete(Object sender, EventArgs e) +10
   System.EventHandler.Invoke(Object sender, EventArgs e) +0
   System.Web.UI.Page.OnLoadComplete(EventArgs e) +9865142
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +795

 

Unplanned
Last Updated: 03 Jan 2022 12:25 by ADMIN
Created by: Rolf Falnes
Comments: 1
Category: Grid
Type: Bug Report
0
We're having problems using GenerateXlsxOutput and ExportSettings.IgnorePaging.
When ExportSettings.IgnorePaging is true the grid's paging disappears after exporting.

We're using Asp.Net Ajax version 2021.3.1111.45.
Unplanned
Last Updated: 30 Mar 2023 09:54 by ADMIN
Created by: Margo Noreen
Comments: 2
Category: Grid
Type: Feature Request
0

When EnableLinqGrouping is set to True (default) Group Aggregates do not have Case sensitive calculations. 

Unplanned
Last Updated: 03 Jun 2022 10:30 by Frances

Steps to replicate the issue:

  1. Enable Virtualization
  2. Enable Paging
  3. Enable Scrolling
  4. Enable Sorting
  5. Bind enough data for a few pages
  6. Run the page and in the Pager click on a different page number to change the current Page
  7. Click on the Column header to Sort that Column

Observe: The Grid makes a PostBack and sorts the items, CurrentPage index gets reset back to 1.

Unplanned
Last Updated: 23 Jun 2022 13:29 by Claudio
Created by: Claudio
Comments: 0
Category: Grid
Type: Feature Request
0

With a lot of columns, in some cases, the latest column is clipped in a zoomed OS. For example, resolution 1920x1080 and the scale is 150% or 3840 x 2160 and the 150% scale.

 

 

Adding the following script somewhere after the ScriptManager(e.g. near the closing </form> or </body> tag) can improve the experience with zoomed scenarios:

<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
    <script>
        if (Telerik && (Telerik.Web.Browser.chrome || Telerik.Web.Browser.edgeChromium) && Telerik.Web.UI.GridScrolling) {
            Telerik.Web.UI.GridScrolling.prototype.onGridFrozenScroll = function (args) {
                if (!this._frozenScrollCounter) {
                    this._frozenScrollCounter = 0;
                }

                this._frozenScrollCounter++;
                this._needToUpdateClientState = false;

                var gridControl = this;

                gridControl._currentElement = Telerik.Web.UI.Grid.GetCurrentElement(args);

                Telerik.Web.UI.Grid.frozenScrollHanlder = function (count) {
                    var operaVersion = 10.00;

                    if ($telerik.isOpera) {
                        operaVersion = navigator.userAgent.substring(navigator.userAgent.indexOf("Version/") + "Version".length + 1) * 1;
                    }
                    if (gridControl._frozenScrollCounter != count || gridControl._owner._isResize)
                        return;

                    if (!gridControl._lastScrollIndex) {
                        gridControl._lastScrollIndex = 0;
                    }
                    var masterTableView = gridControl._owner.get_masterTableView();
                    var masterTableViewHeader = gridControl._owner.get_masterTableViewHeader();

                    var currentElement = gridControl._currentElement;

                    if (gridControl._owner.ClientSettings.Scrolling.FrozenColumnsCount > masterTableViewHeader.get_columns().length) {
                        gridControl.isFrozenScroll = false;
                    }
                    var column, i;
                    if (gridControl.isFrozenScroll) {
                        var notFrozenColumns = gridControl._getNotFrozenColumns();

                        var scrollPercent = 0;
                        var notShownSpaceWidth = -1;

                        var currentElementWidthDiff = currentElement.scrollWidth - currentElement.offsetWidth;

                        if ((currentElementWidthDiff) != 0)
                            notShownSpaceWidth = currentElementWidthDiff;

                        scrollPercent = currentElement.scrollLeft / notShownSpaceWidth;

                        if (scrollPercent < 0)
                            scrollPercent = -1 * scrollPercent;

                        if (scrollPercent > 1)
                            scrollPercent = 1;

                        if (Telerik.Web.UI.Grid.IsRightToLeft(gridControl._owner.GridHeaderDiv) && ($telerik.isSafari || $telerik.isIE7))
                            scrollPercent = 1 - scrollPercent;

                        var gridColumns = masterTableView.get_columns();

                        var currentScrollPosition = currentElement.scrollLeft;
                        i = 0;
                        while (i < notFrozenColumns.length)//always show the last column
                        {
                            column = notFrozenColumns[i];

                            var prerviousForzenDisplayWidth = notFrozenColumns._getPreviousNotFrozenColumnWidth(column.Index);

                            if ((currentElementWidthDiff) < 0)
                                break;

                            var columnPercent = (column.Width + prerviousForzenDisplayWidth - 50) / notShownSpaceWidth; 

                            if (columnPercent <= scrollPercent && currentScrollPosition != 0) {
                                if (column.FrozenDisplay) {
                                    masterTableViewHeader._hideNotFrozenColumn(column.Index);
                                }
                            }
                            else {
                                if (!column.FrozenDisplay) {
                                    masterTableViewHeader._showNotFrozenColumn(column.Index);
                                }
                            }

                            i++;

                            if (i == (notFrozenColumns.length - 1)) {
                                var prevWidthBeforeLastHidden = 0;
                                var lastHiddenColumnIndex = 0;
                                var k = 0;
                                for (var j = 0; j < gridColumns.length - 1; j++) {
                                    if (typeof (gridColumns[j].FrozenDisplay) == 'boolean' && !gridColumns[j].FrozenDisplay) {
                                        prevWidthBeforeLastHidden += notFrozenColumns[k].Width;
                                        k++;
                                        lastHiddenColumnIndex = j;
                                    }
                                }
                                if ((prevWidthBeforeLastHidden - notShownSpaceWidth) < notFrozenColumns[notFrozenColumns.length - 1].Width + 25) {
                                    if (scrollPercent < 0.5) {
                                        var nextColumnToHide = notFrozenColumns[notFrozenColumns.length - 1];
                                        masterTableViewHeader._hideNotFrozenColumn(nextColumnToHide.Index);
                                    } else {
                                        var nextColumnToHide = notFrozenColumns[k];
                                        masterTableViewHeader._hideNotFrozenColumn(nextColumnToHide.Index);
                                    }
                                }
                            }
                        }

                        gridControl._afterColumnFreeze(masterTableView, masterTableViewHeader, scrollPercent);

                        if (scrollPercent > 0.9999 && $telerik.isFirefox) {
                            masterTableViewHeader.get_element().style.width = masterTableViewHeader.get_element().offsetWidth + "px";
                            masterTableViewHeader.get_element().style.tableLayout = "auto";
                            masterTableViewHeader.get_element().style.tableLayout = "fixed";

                            masterTableView.get_element().style.width = masterTableViewHeader.get_element().offsetWidth + "px";
                            masterTableView.get_element().style.tableLayout = "auto";

                            masterTableViewHeader.get_element().style.tableLayout = "";
                            setTimeout(
                                function () {
                                    if ($telerik.isFirefox && Sys.Browser.version >= 4)
                                        masterTableView.get_element().style.tableLayout = "fixed";
                                    masterTableViewHeader.get_element().style.tableLayout = "auto";
                                    masterTableViewHeader.get_element().style.tableLayout = "fixed";
                                },
                                100);
                        }

                        if (gridControl._owner.get_masterTableViewFooter()) {

                            gridControl._owner.get_masterTableViewFooter().get_element().style.width = masterTableViewHeader.get_element().offsetWidth + "px";
                            gridControl._owner.get_masterTableViewFooter().get_element().style.tableLayout = "auto";
                            gridControl._owner.get_masterTableViewFooter().get_element().style.tableLayout = "fixed";
                        }

                    }
                    else {
                        gridControl._owner.GridDataDiv.scrollLeft = currentElement.scrollLeft;
                    }

                    /////////////////////////////////////
                    gridControl._frozenScrollCounter = 0;
                    gridControl._needToUpdateClientState = true;
                    //gridControl._owner.updateClientState();
                    setTimeout(Telerik.Web.UI.Grid._clientStateUpdater, 500);

                    if (gridControl._owner.get_events().getHandler("scroll")) {
                        gridControl._owner.raise_scroll(new Telerik.Web.UI.GridScrollEventArgs(gridControl._currentElement));
                    }
                };

                Telerik.Web.UI.Grid._clientStateUpdater = function () {
                    if (gridControl._needToUpdateClientState) {
                        gridControl._needToUpdateClientState = false;
                        gridControl._owner.updateClientState();
                    }
                };
                clearTimeout(window.frozenScrollTimeout);
                window.frozenScrollTimeout = setTimeout("Telerik.Web.UI.Grid.frozenScrollHanlder(" + this._frozenScrollCounter + ")", 30);

            }

        }
    </script>
</telerik:RadCodeBlock>

Unplanned
Last Updated: 15 Dec 2022 17:11 by ADMIN
When having at least one hidden column and the AllowColumnResize is set to true, the table cells in the DetailItemTemplate do not get the correct colspan value, hence braking the table structure.
Unplanned
Last Updated: 07 Apr 2023 14:10 by Mikayel

Applying styles to the rows when exporting to PDF causes the Grid to duplicate the column headers at page breaks.

 

Unplanned
Last Updated: 18 Jul 2023 07:31 by ADMIN

When EnablePostBackOnRowClick="true" and clicking on the RadAutoCompleteBox inside the EditItemTemplate the Grid will make a PostBack.

This issue does not happen with other elements (span, input, button, etc).

Unplanned
Last Updated: 18 Oct 2023 11:15 by ADMIN
When using a RadGrid with static headers and grouping, columns and column headers are misaligned 
Unplanned
Last Updated: 13 Jun 2024 14:39 by Russ
RadGrid batch editing fails when it is inside a RadWindow that is part of WindowManager
Unplanned
Last Updated: 04 Oct 2024 11:30 by Rachel

When the JAWS screen reader is used alongside the Grid with enabled keyboard navigation, using Alt + Up/Down arrow doesn't work as intended, most noticeably trying to use Alt + UpArrow doesn't move the focus to the previous row. 

This behavior can be observer on the Keyboard navigation demo as well

Unplanned
Last Updated: 30 May 2025 10:24 by ADMIN
Scheduled for 2025 Q2 SP2

Form controls rendered by the embedded columns (GridBoundColumn, GridDateTimeColumn, GridNumericColumn, etc.) in EditMode="Batch" do not have a label set and fail the accessibility checks.

Unplanned
Last Updated: 13 Jun 2025 11:26 by Chris
Created by: Chris
Comments: 4
Category: Grid
Type: Bug Report
0
When editing a GridDropDownColumn in version 2025.2.609, there is an additional label generated for the DropDown.
5 6 7 8 9 10