Unplanned
Last Updated: 05 Jul 2018 09:32 by ADMIN
Selecting a cell from horizontally scrolled RadGrid with allowed Keyboard Navigationcauses the page to be scrolled to the left in IE 11.

video: https://www.screencast.com/t/4NDOq9Qx

Comment: If the Batch editing is enabled the cell is selected, but the batch editing is not started.

Code to reproduce the issue:
<div style="width: 4000px">
        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" AllowSorting="true" Skin="Telerik" RenderMode="Lightweight"
            OnNeedDataSource="RadGrid1_NeedDataSource">
            <ClientSettings AllowKeyboardNavigation="true" Scrolling-AllowScroll="true" Scrolling-SaveScrollPosition="true">
                <Selecting CellSelectionMode="SingleCell" />
            </ClientSettings>
            <GroupingSettings ShowUnGroupButton="true"></GroupingSettings>
            <MasterTableView  CommandItemDisplay="Top" Frame="Border" ShowFooter="true" AllowPaging="True" AllowCustomPaging="true" ShowGroupFooter="true">
            </MasterTableView>
        </telerik:RadGrid>
</div>
Unplanned
Last Updated: 11 Dec 2019 10:17 by ADMIN

When page scrolling is enabled and scrolling down the page, the row context menu of RadGrid rows do not open at a correct position.

Demo: Video Recording

Testing conducted in Safari 13, MacOS

Unplanned
Last Updated: 08 May 2020 17:22 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".
Unplanned
Last Updated: 22 Sep 2017 13:25 by ADMIN
It seems the element somehow considmes the scrolling/touch action and the grid does not scroll unless you hit the gap where the custom element does not reach.

A workaround is to enforce overflow: auto to the scrollable element of the grid. A sample is attached below.

        div.rgDataDiv {
            overflow: auto !important;
        }

Unplanned
Last Updated: 05 Mar 2020 16:32 by ADMIN
The horizontal scrollbar is not visible in iOS when the grid is empty.

Code to reproduce the problem:
<style>
        html, body, body > form {
            height: 100%;
            padding: 0;
            margin: 0;
        }
    </style>
...
        <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" Width="100%"
            AutoGenerateColumns="true"
            OnNeedDataSource="RadGrid1_NeedDataSource">
            <ClientSettings>
                <Scrolling AllowScroll="true" />
            </ClientSettings>
            <MasterTableView Width="1500px">
            </MasterTableView>
        </telerik:RadGrid>

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

    private object GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("column1");
        dt.Columns.Add("column2");
        dt.Columns.Add("column3");
        dt.Columns.Add("column4");
        dt.Columns.Add("column5");
        dt.Columns.Add("column6");
        dt.Columns.Add("column7");
        dt.Columns.Add("column8");

        //dt.Rows.Add(1, 2, 3, 4, 5, 6, 7, 8);

        return dt;
    }
Unplanned
Last Updated: 26 Mar 2019 07:56 by ADMIN
The filter expression that we build should use ToUpperCase in the build expresssion.
Unplanned
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.
Unplanned
Last Updated: 19 Dec 2017 10:27 by Attila Antal
There are two possible approaches to overcome this issue:
- First approach would be to get a reference to the GridHTMLEditorColumn and add the desired tools in the code behind using the "OnItemCreated" server event handler of RadGrid.
- Second approach would be to use GridTemplateColumn with RadEditor.
Unplanned
Last Updated: 03 Jun 2020 10:54 by ADMIN

Bug report

When I use TimePicker in GridDateTimeColumn it works fine in a normal browser but fails on mobile with the following error "Value must be 00:00 or earlier"

This works fine from Firefox, but when I use a mobile browser I get the following error "Value must be 00:00 or earlier" or "Value must be 12:00 AM or earlier".

 

Reproduction of the problem

 

Markup

<telerik:RadGrid ID="RGTimesheet" runat="server" OnNeedDataSource="RGTimesheet_NeedDataSource" RenderMode="Mobile"
    AllowAutomaticInserts="True" AllowAutomaticUpdates="True" AllowAutomaticDeletes="True"
    Skin="MetroTouch"
    Width="100%" AllowSorting="True" GroupPanelPosition="Top">
    <ClientSettings>
        <Scrolling AllowScroll="True" UseStaticHeaders="True"></Scrolling>
    </ClientSettings>
    <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="Bottom" DataKeyNames="OrderID" ShowFooter="True">
        <Columns>
            <telerik:GridEditCommandColumn ButtonType="FontIconButton">
            </telerik:GridEditCommandColumn>
            <telerik:GridClientDeleteColumn ButtonType="FontIconButton">
            </telerik:GridClientDeleteColumn>

            <telerik:GridDateTimeColumn DataField="Start" DataType="System.TimeSpan" EditDataFormatString="hh:mm:ss tt" HeaderText="Start" SortExpression="Start" UniqueName="Start" PickerType="TimePicker">
            </telerik:GridDateTimeColumn>
            <telerik:GridDateTimeColumn DataField="Finish" DataType="System.TimeSpan" HeaderText="Finish" SortExpression="Finish" UniqueName="Finish" PickerType="TimePicker">
            </telerik:GridDateTimeColumn>

        </Columns>
        <EditFormSettings>
            <EditColumn UniqueName="EditCommandColumn1" ButtonType="PushButton">
            </EditColumn>
        </EditFormSettings>
    </MasterTableView>
</telerik:RadGrid>

 

C# - Markup

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

    dt.Columns.Add(new DataColumn("OrderID", typeof(int)));
    dt.Columns.Add(new DataColumn("Start", typeof(TimeSpan)));
    dt.Columns.Add(new DataColumn("Finish", typeof(TimeSpan)));

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

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

        DataRow row = dt.NewRow();

        int hours = DateTime.Now.Hour;
        int minutes = DateTime.Now.Minute;
        int seconds = DateTime.Now.Second;

        row["OrderID"] = index;
        row["Start"] = new TimeSpan(hours, minutes, seconds);
        row["Finish"] = new TimeSpan(hours+index, minutes, seconds);

        dt.Rows.Add(row);
    }

    return dt;
}


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

 

Unplanned
Last Updated: 29 Oct 2020 12:39 by ADMIN
Created by: Aaron
Comments: 1
Category: Grid
Type: Bug Report
1
Set up to reproduce:
<telerik:RadAjaxPanel runat="server" ID="panel" LoadingPanelID="RadAjaxLoadingPanel1" RenderMode="Inline" EnableAJAX="true">
    <div class="row">
        <asp:Button runat="server" ID="btnLoad" Text="Load Data" OnClick="btnLoad_Click" />
    </div>

    <telerik:RadGrid runat="server" ID="radGrid" CssClass="radgrid" Skin="Bootstrap"
        ClientSettings-Scrolling-AllowScroll="true"
        ClientSettings-Scrolling-ScrollHeight="800"
        ClientSettings-Scrolling-UseStaticHeaders="true"
        ClientSettings-EnableAlternatingItems="false"
        HeaderStyle-Wrap="false" AllowPaging="true" PageSize="50"
        ItemStyle-Wrap="false" AllowSorting="true"
        OnNeedDataSource="radGrid_NeedDataSource" AllowMultiRowSelection="false"
        HeaderStyle-BackColor="White">
        <ClientSettings>
            <Selecting AllowRowSelect="true" />

        </ClientSettings>
        <MasterTableView>
            <Columns>
                <telerik:GridTemplateColumn UniqueName="colEdit" AllowFiltering="false" Exportable="false">
                    <ItemTemplate>
                        <asp:LinkButton CssClass="link-button" runat="server" ID="btnEdit">Edit</asp:LinkButton>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn UniqueName="colDelete" AllowFiltering="false" Exportable="false">
                    <ItemTemplate>
                        <asp:LinkButton CssClass="link-button" ID="btnDelete" runat="server">Delete</asp:LinkButton>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

</telerik:RadAjaxPanel>
Code-behind:
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        radGrid.Visible = false;
    }
}

protected void btnLoad_Click(object sender, EventArgs e)
{
    radGrid.Visible = true;
    radGrid.Rebind();
}
protected void radGrid_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
    var grid = sender as RadGrid;
    grid.DataSource = LoadData();
}
private DataTable LoadData()
{
    DataTable tbl = new DataTable();
    tbl.Columns.Add(new DataColumn("ADFAFD", typeof(string)));
    tbl.Columns.Add(new DataColumn("ADFADFADF", typeof(string)));
    tbl.Columns.Add(new DataColumn("ADFADFADFADFASDF", typeof(string)));
    tbl.Columns.Add(new DataColumn("HGDH", typeof(string)));
    tbl.Columns.Add(new DataColumn("ADFADF ADFADFADF", typeof(string)));
    tbl.Columns.Add(new DataColumn("ADF ADSFADF", typeof(string)));
    tbl.Columns.Add(new DataColumn("FKHDGJHFGJH", typeof(string)));
    tbl.Columns.Add(new DataColumn("SHFSFHSGH", typeof(string)));
    tbl.Columns.Add(new DataColumn("ADF ASDFASDF ASDFADSF", typeof(string)));
    tbl.Rows.Add(new object[] { "ADFADF", "ASDFADFAFD", "ADFADF", "ADFADFADF ADFADFADFADF ADFADF ADFADFADF ADFADFADFADF ADFADF", "ADFADF", "ASDFADFAFD", "ADFADF", "ADFADFADF ADFADFADFADF ADFADF"});
    tbl.Rows.Add(new object[] { "ADFADF", "ASDFADFAFD", "ADFADF", "ADFADFADF ADFADFADFADF ADFADF", "ADFADF", "ASDFADFAFD", "ADFADF", "ADFADFADF ADFADFADFADF ADFADF"});
    return tbl;
}
Unplanned
Last Updated: 21 Jul 2020 09:28 by ADMIN

Reproduction steps:

  1. For RadGrid set RenderMode="Mobile" and EnableHeaderContextMenu="true"
  2. For Grid Column set Groupable="false"
  3. Try to group by the non-groupable column - http://somup.com/cYirQb6fqR
Unplanned
Last Updated: 21 Jul 2020 11:17 by ADMIN

Links inside RadGrid are failing Contrast tests with ANDI tool:

<telerik:RadButton runat="server" ID="RadButton1" Text="Hide Grids with no Contrast issues" AutoPostBack="false" OnClientClicked="OnClientClicked" />
<script>
    function OnClientClicked(sender, args) {
        var $ = $ || $telerik.$;
        var failingSkins = []
        $(".RadGrid").each(function () {
            var grid = $(this)
            if (grid.find(".ANDI508-element-danger").length == 0) {
                grid.parent().hide();
            } else {
                failingSkins.push(grid.parent().find(".label").text())
            }
        })
        console.log(failingSkins)
    }
</script>

<a href="javascript:void((function(){andiScript=document.createElement('script');andiScript.setAttribute('src','https://www.ssa.gov/accessibility/andi/andi.js');document.body.appendChild(andiScript)})());">Run ANDI tool</a>
<br />
<telerik:RadSkinManager ID="RadSkinManager1" runat="server"></telerik:RadSkinManager>
<asp:Repeater runat="server" ID="Repeater1" OnItemDataBound="Repeater1_ItemDataBound">
    <SeparatorTemplate>
        <hr />
    </SeparatorTemplate>
    <ItemTemplate>
        <div class="container">
            <asp:Label Text="Label1" CssClass="label" ID="Label1" runat="server" />
            <telerik:RadGrid ID="RadGrid1" RenderMode="Lightweight" runat="server" AllowPaging="True" CellSpacing="0"
                GridLines="None" Width="800px" PageSize="10" OnNeedDataSource="RadGrid1_NeedDataSource"
                AllowSorting="true">
                <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID">
                    <Columns>
                        <telerik:GridHyperLinkColumn DataTextField="ShipName" DataNavigateUrlFields="OrderID" DataNavigateUrlFormatString="https://google.com/search?q={0}" Target="_blank"></telerik:GridHyperLinkColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>

        </div>

    </ItemTemplate>
</asp:Repeater>

protected void Page_Load(object sender, EventArgs e)
{
    Repeater1.DataSource = RadSkinManager1.GetSkinChooser().Items;
    Repeater1.DataBind();
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    (sender as RadGrid).DataSource = Enumerable.Range(1,70).Select(x=> new { OrderID = x, ShipName = "Ship name #" + x });
}

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var grid = e.Item.FindControl("RadGrid1") as RadGrid;
    if (grid != null)
    {
        var skin = (e.Item.DataItem as RadComboBoxItem).Text;
        grid.Skin = skin;
        (e.Item.FindControl("Label1") as Label).Text=skin;

    }
}

Unplanned
Last Updated: 21 Jun 2018 14:23 by ADMIN
There are two easy solutions:
- set HighlightDeletedRows to false
- use the built-in Save Changes button in the command item

A workaround is attached that allows you to use an external button and highlight deleted rows.
It will cause other changes apart from deletion on a row to be lost, but deleted rows will be sent to the server.
Unplanned
Last Updated: 08 Apr 2020 14:24 by ADMIN

With no filtering applied, the filter menu still highlights the filter-function defined in the CurrentFilterFunction property of the column.

Unplanned
Last Updated: 08 Apr 2020 14:53 by ADMIN
In a GridDateTimeColumn I have some value data with milliseconds like "2018-09-24 18:05:21.057"

Filtering with the milliseconds returns no results.

Then I remove milliseconds part "2018-09-24 18:05:21"

Filtering without that will return results.

Even with the EnableTimeIndependentFiltering property set to True, the milliseconds are not ignored, and the filtering mechanism doesn't find the records.
Unplanned
Last Updated: 08 Apr 2020 14:52 by ADMIN

Issue #1. When the Grid is not having any records (i.e. when the grid is initialized for the first time), if we define the Detail Item Template than the item template is shown 10-11 times. 

Issue#2: When we have the pagination enabled in the grid and the records are fully filled on the first page and suppose the second page is half-filled with records, then in this scenario On the second page even the records of the first page are hidden but the data item template for those rows are visible which is not correct. Screenshot is attached.

Issue #3: The same scenario is happening when we searched the grid first with 10 records and then we search for 2 records, In this case also 8 records will be removed but there data item templates will still be visible on the grid.

Unplanned
Last Updated: 12 Feb 2020 11:11 by ADMIN

If paging is disabled and the PageSize is set to less than the number of records bound to RadGrid, client item templates are not all rendered correctly.

Example:

If PageSize is 10, and records bound to Grid are 15, then the first 10 records will have templates rendered correctly, while the rest of 5 records will not.

Unplanned
Last Updated: 08 Apr 2020 16:14 by ADMIN

If the Page culture is set to anything other than "en-US", RadDatePicker in the HeaderContextMenu will loose the correct format and swaps the Day with the Month after filtering.

Unplanned
Last Updated: 08 Apr 2020 16:18 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
Unplanned
Last Updated: 08 May 2020 17:24 by ADMIN
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
1 2 3 4