Pending Review
Last Updated: 03 Jun 2019 08:01 by ADMIN
When Grouping in RadGrid while EnableLinqExpressions is set to True and some of the records contain null values will throw the exception: Object cannot be cast to DBNull
Approved
Last Updated: 02 Jan 2020 16:43 by ADMIN
Created by: David Hassan
Comments: 1
Category: Grid
Type: Bug Report
0

To replicate the problem:

  1. Create RadGrid and bind it a datasource
  2. Set ClientSettings - Selecting - AllowRowSelect to true
  3. Set ClientSettings - EnablePostBackOnRowClick to true
  4. Add a GridEditCommandColumn or a ButtonColumn with Edit/Save/Cancel CommandNames
  5. Enable AJAX for the Grid
  6. Run the application in FireFox

Clicking on the Edit button fires the RowClick event of the Grid instead of Edit/Save/Cancel.

Approved
Last Updated: 02 Jan 2020 16:43 by ADMIN
Created by: Grant
Comments: 1
Category: Grid
Type: Bug Report
0
If exporting a sorted RadGrid to  Excel XLSX a white space is prepended to the header text in the output file
Pending Review
Last Updated: 30 Apr 2019 10:06 by ADMIN
If anchor links of GridButtonColumn do not define a text links are still rendered and screen readers read their href attribute. Anchor links with no text could define an attribute area-hidden="true".
Pending Review
Last Updated: 23 Apr 2019 08:33 by CaseNet
When the RenderMode of RadGrid is set to Mobile and UniqueName is different from the DataField then trying to Ungroup an item, it throws an exception: Object reference not set to an instance of an object
Approved
Last Updated: 26 Mar 2019 07:56 by ADMIN
The filter expression that we build should use ToUpperCase in the build expresssion.
Approved
Last Updated: 07 Jan 2020 08:51 by ADMIN
When there is at least one ColumnGroup which is not assigned to any of the columns in RadGrid, exporting to Excel throws an exception "Index was outside the bonds of the array"
Approved
Last Updated: 07 Mar 2019 12:03 by ADMIN

When virtualization is enabled for RadGrid, NeedDataSource is called at every Post back with RebindReason = ExplicitRebind, regardless of the event target.

Steps to reproduce:

Use the following Code snippets for the runnable sample and debug the NeedDataSource event while doing post backs using other controls. For instance, you can use the RadButton1 from these snippets to make a standard Post Back.

Markup

        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        </telerik:RadAjaxManager>

        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"></telerik:RadAjaxLoadingPanel>
        
        <telerik:RadButton runat="server" ID="RadButton1" Text="Postback" AutoPostBack="true" />

        <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="false" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource">
            <MasterTableView AutoGenerateColumns="true" DataKeyNames="OrderID">
            </MasterTableView>
            <ClientSettings>
                <Scrolling AllowScroll="true" />
                <Virtualization EnableVirtualization="true" InitiallyCachedItemsCount="500" ItemsPerView="200" RetrievedItemsPerRequest="200" LoadingPanelID="RadAjaxLoadingPanel1" />
            </ClientSettings>
        </telerik:RadGrid>


C# 

    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        RadGrid1.DataSource = OrdersTable();
    }

    private DataTable OrdersTable()
    {
        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
        dt.Columns.Add(new DataColumn("OrderDate", typeof(DateTime)));
        dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));
        dt.Columns.Add(new DataColumn("ShipName", typeof(string)));
        dt.Columns.Add(new DataColumn("ShipCountry", typeof(string)));

        dt.PrimaryKey = new DataColumn[] { dt.Columns["OrderID"] };

        for (int i = 0; i < 10000; i++)
        {
            int index = i + 1;

            DataRow row = dt.NewRow();

            row["OrderID"] = index;
            row["OrderDate"] = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0).AddHours(index);
            row["Freight"] = index * 0.1 + index * 0.01;
            row["ShipName"] = "Name " + index;
            row["ShipCountry"] = "Country " + index;

            dt.Rows.Add(row);
        }

        return dt;
    }

Approved
Last Updated: 20 Mar 2019 15:37 by ADMIN
Status bar in Grid does not hide after Exporting a document when OnCommand client event is handled
Approved
Last Updated: 20 Mar 2019 15:33 by ADMIN
When virtualization is enabled for RadGrid, NeedDataSource is called at every Post back with RebindReason = ExplicitRebind, regardless of the event target.
Approved
Last Updated: 20 Mar 2019 15:45 by ADMIN
Created by: Odd Dahm
Comments: 1
Category: Grid
Type: Bug Report
1
RadGrid with Hierarchical structure throws the error when an item is expanding while it's in edit mode and the Table's HierarchyLoadMode is set to Client.
Completed
Last Updated: 10 Apr 2019 15:29 by ADMIN
Created by: Richa Chauhan
Comments: 2
Category: Grid
Type: Bug Report
1
Keyboard navigation does not work in Firefox 65.0.1

While attempting to implement Keyboard Navigation for one of our RadGrid controls, we discovered that this navigation (Arrow Up/Down and Page Up/Down) did not work correctly in Firefox (though it did within IE, Edge, and Chrome). We also tested the Firefox Keyboard Navigation within the Telerik Grid Demo Site, and experienced the same behavior. 

Issue can also be observed with the Grid - Keyboard Support demo using Firefox 65.0.1

Do you know how to resolve this issue, or of any workaround?

Thank you,
Krassimir

Pending Review
Last Updated: 12 Feb 2019 13:36 by ADMIN
Steps to reproduce the error.

Create a ClientDeleteColumn with CommandName="Delete" and wire up the onCommand client-event to RadGrid.

<telerik:RadGrid ID="RadGrid1" runat="server">
    <MasterTableView>
        <Columns>
            <telerik:GridClientDeleteColumn CommandName="Delete" ButtonType="LinkButton"></telerik:GridClientDeleteColumn>
        </Columns>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnCommand="OnCommand" />
    </ClientSettings>
</telerik:RadGrid>

The event handler does not need to do anything.

function OnCommand(sender, args) {
}
Completed
Last Updated: 02 Oct 2019 14:33 by ADMIN
Exporting an empty RadGrid to XLSX or Biff with ExportSettings-ExportOnlyData="true" and Caption set, throws exception: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Steps to reproduce:

RadGrid markup:

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true"
    OnNeedDataSource="RadGrid1_NeedDataSource">
    <ExportSettings ExportOnlyData="true">
        <Excel Format="Biff" />
    </ExportSettings>
    <MasterTableView Caption="My Personalized caption" CommandItemDisplay="Top">
        <CommandItemSettings ShowExportToExcelButton="true" />
    </MasterTableView>
</telerik:RadGrid>


C# - Code behind

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    RadGrid1.DataSource = OrdersTable();
}
 
private DataTable OrdersTable()
{
    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
    dt.Columns.Add(new DataColumn("OrderDate", typeof(DateTime)));
    dt.Columns.Add(new DataColumn("Freight", typeof(decimal)));
    dt.Columns.Add(new DataColumn("ShipName", typeof(string)));
    dt.Columns.Add(new DataColumn("ShipCountry", typeof(string)));
    dt.PrimaryKey = new DataColumn[] { dt.Columns["OrderID"] };
    return dt;
}
Completed
Last Updated: 28 Jun 2019 08:52 by ADMIN

System.ArgumentOutOfRangeException
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

This error seems to happen if there is a GridTemplateColumn that has the Exportable property set to False.

Completed
Last Updated: 02 Oct 2019 14:32 by ADMIN
Created by: Felix
Comments: 8
Category: Grid
Type: Bug Report
3

Hi

Since updating to the latest release of UI for ASP.NET AJAY the RadContextMenu of my RadGrid is misaligned at the right edge of the screen. Even in your sample https://demos.telerik.com/aspnet-ajax/grid/examples/columns-rows/columns/context-menu/defaultcs.aspx when you open the context menu at the right side of the screen the context menu is nor aligned to the left (like it used to be).

Please ses the attached printscreen.

Kind regards
Felix

Declined
Last Updated: 28 Jun 2019 11:50 by ADMIN
Created by: product
Comments: 1
Category: Grid
Type: Bug Report
0
In GridTableView.cs, you provide a function
 protected virtual GridTableView CreateTableView() (Line 7828).
This function can be overloaded to return derived classes from GridTableView.

But, this is not overloadable completely. Because you create a GridTableView directly in protected void BuildDetailTablesFromDataSource() (Line 8808), too.
There you would have to call a virtual creator function, too.

This is necessary, because I have a lot of Trouble with your DataBind which I was able to fix with an overload. It is much to hard to make this bug visible for you, I really tried to do so already, but I had to fix this that way, because your GridTableView without my derivation fails in our szenario.

The call stack for that problem, I'd had to fix, is always like:
Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.IndexOutOfRangeException: Cannot find column CheckSum.
                  at System.Data.DataTable.ParseSortString(String sortString)
                  at System.Data.DataView.set_Sort(String value)
                  at Telerik.Web.UI.GridEnumerableFromDataView.PerformTransformation()
                  at Telerik.Web.UI.GridEnumerableFromDataView.TransformEnumerable()
                  at Telerik.Web.UI.GridTableView.GetEnumerator(Boolean useDataSource, GridEnumerableBase resolvedDataSource, ArrayList dataKeysArray, Boolean shouldClearDataKeys)
                  at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
                  at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource)
                  at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
                  at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
                  at Telerik.Web.UI.GridTableView.PerformSelect()
                  at Telerik.Web.UI.GridTableView.DataBind()
                  at Telerik.Web.UI.GridItemBuilder.BindDetailTable(GridDataItem parentItem, GridTableView cloned)
                  at Telerik.Web.UI.GridItemBuilder.BindDetailTables(GridDataItem parentItem, GridNestedViewItem detailItem)
                  at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
                  at Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls)
                  at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
                  at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource)
                  at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
                  at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
                  at Telerik.Web.UI.GridTableView.PerformSelect()
                  at Telerik.Web.UI.GridTableView.DataBind()


In that, your DataTableView gets an invalid sort Expression string. Therefore, I overwrote DataBind.

But this is not possible in all cases, if you create GridViewTable() objects on your own.

Best regards
Pending Review
Last Updated: 29 Oct 2018 16:08 by ADMIN
ADMIN
Created by: Peter Milchev
Comments: 0
Category: Grid
Type: Bug Report
0
If AllowPaging, AllowScroll and UseStaticHeaders are set to true, then there will be 2 empty <th> elements

workaround: 
    <ClientSettings>
...
        <ClientEvents OnGridCreated="OnGridCreated" />
    </ClientSettings>

<script>
    function OnGridCreated(sender, args) {
        var emptyth = $telerik.$(sender.get_element())
            .find("th").filter(function (ind, item) { return item.textContent == "" });
        // alert(emptyth.length)
        emptyth.append("<span style='display:none'>Hidden empty table header</span>")
    }
</script>
Approved
Last Updated: 26 Aug 2018 09:14 by ADMIN
With form decorator the checkboxes jump a bit to the left when cell is opened: https://www.screencast.com/t/5HwXW6kgVhb

Without form decorator they get centered because of the 100% width they get https://www.screencast.com/t/oxc75Bu6lM

It comes from the combination of two things:
- by default, the grid cells have a left padding (as well as padding to the other sides, but that's irrelevant now)
- the batch editing container does not have left padding so the editable element can better align with the text in the general case (textboxes and other editable elements usually have some left padding). With a checkbox there is no textual input, though, and so it appears to shift to the left because the left-padding of the cell is removed by the batch editing.

Workaround:

		<style>
			/* note: the margins may vary in different skins, inspect the rendering if there is a  */

			/* for form decorator */
			html .RadGrid td.rgBatchCurrent .rfdCheckboxUnchecked,
			html .RadGrid td.rgBatchCurrent .rfdCheckboxChecked,
			html .RadGrid td.rgBatchCurrent .RadCheckBoxList {
				margin-left: 12px;
			}

			/* if no form decorator */
			html .RadGrid td.rgBatchCurrent input[type='checkbox'] {
				width: auto;
				margin-left: 16px;
			}


			/* in case you have radio buttons even though they are not a supported editable control with batch editing*/
			/* for form decorator */
			html .RadGrid td.rgBatchCurrent .rfdRadioUnchecked,
			html .RadGrid td.rgBatchCurrent .rfdRadioChecked,
			html .RadGrid td.rgBatchCurrent .RadRadioButtonList{
				margin-left: 12px;
			}

			/* if no form decorator */
			html .RadGrid td.rgBatchCurrent input[type='radio'] {
				width: auto;
				margin-left: 16px;
			}
		</style>

Completed
Last Updated: 10 Jul 2019 14:09 by ADMIN
Hidden columns are shown on resize when the static headers and frozen column are used.

Video: https://www.screencast.com/t/4Lwuvbp7


Possible workarounds:

- Hide the column with Visible="False", instead of Display="False"

- Hide the column on the client-side:



    function gridCreated(sender, args) {
        var masterTableView = sender.get_masterTableView();
        columnIndex = masterTableView.getColumnByUniqueName("ShipName").get_element().cellIndex;
        setTimeout(function () {
            masterTableView.hideColumn(columnIndex);
        }, 2);
    }




Steps to reproduse:

            <telerik:RadGrid RenderMode="Lightweight" HeaderStyle-Width="200px"
                AutoGenerateColumns="false"
                ID="RadGrid1"
                OnNeedDataSource="RadGrid1_NeedDataSource"
                Width="100%"
                runat="server">
                <ClientSettings>
                    <Scrolling AllowScroll="True" UseStaticHeaders="true" FrozenColumnsCount="2"></Scrolling>
                </ClientSettings>
                <MasterTableView AutoGenerateColumns="false">
                    <Columns>
                        <telerik:GridBoundColumn DataField="SongID" HeaderText="SongID" FilterControlWidth="50px" HeaderStyle-Width="50px">
                        </telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="SongTitle" HeaderText="Song Title" FilterControlWidth="200px"></telerik:GridBoundColumn>
                        <telerik:GridBoundColumn DataField="CollectionName" HeaderText="Collection Name" FilterControlWidth="200px"></telerik:GridBoundColumn>
                        <telerik:GridBoundColumn FilterControlWidth="50px" DataField="VersionID" HeaderText="VersionID" Display="false"></telerik:GridBoundColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>

Code Behind:

    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        (sender as RadGrid).DataSource = GetData();
    }

    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("SongID");
        dt.Columns.Add("SongTitle");
        dt.Columns.Add("CollectionName");
        dt.Columns.Add("VersionID");

        for (int i = 0; i < 20; i++)
        {
            dt.Rows.Add(i, i + 1, i + 2, i + 3);
        }

        return dt;
    }