New
Last Updated: 18 Jan 2019 13:20 by ADMIN
Created by: Felix
Comments: 1
Category: Grid
Type: Bug Report
1

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: 17 Dec 2018 13:20 by ADMIN
RadGrid filter command is not triggered for strings containing "and" word.

Video: https://www.screencast.com/t/j649UvPQ3z6

Steps to reproduce:
Filter by "SUNBAY AND LEONA A" in the following demo:
https://demos.telerik.com/aspnet-ajax/grid/examples/functionality/filtering/excel-like-filtering/defaultcs.aspx
Approved
Last Updated: 14 Dec 2018 13:19 by Eric
New
Last Updated: 10 Dec 2018 08:23 by Dirk
Created by: Dirk
Comments: 0
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
In Development
Last Updated: 12 Nov 2018 10:15 by Attila Antal
When the Grid has  <HeaderContextMenu> in the Markup and there is no explicitly set RenderMode of the Grid, the Grid is rendered in Classic. 
It also happens if there is a reference to the ContextMenu in the code behind.

Reproduction steps: 
<script>    
    function f() {
        //code 
        alert($find("RadGrid1")._renderMode);
        Sys.Application.remove_load(f);
    }
    Sys.Application.add_load(f);
</script>
<telerik:RadGrid ID="RadGrid1" runat="server" >  
    <HeaderContextMenu></HeaderContextMenu>         
</telerik:RadGrid>

Solutions: 
1. Remove the HeaderContextMenu tag

2. Set the RenderMode of the Grid explicitly
New
Last Updated: 08 Nov 2018 20:52 by Attila Antal
A valid SQL statement should look like

SELECT * FROM Products WHERE ([Discontinued] = 1)

or

SELECT * FROM Products WHERE ([Discontinued] = 'True')

but RadGrid provides something like

([Discontinued] = True)

in the MasterTableView.FilterExpression property.

By default RadGrid filters the data on its own after retrieving the entire data set form the data source, and the filtering operation works like that.
If you will be using the filter expression provided by the grid in a custom data source operation you may need to tweak the string first.
Note that changing this may result in a breaking change if you are already using the current syntax.

Workaround: https://www.telerik.com/support/kb/aspnet-ajax/grid/details/get-sql-compliant-filterexpressions-from-radgrid
In Development
Last Updated: 05 Nov 2018 12:04 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;
    }


Completed
Last Updated: 05 Nov 2018 11:24 by ADMIN
As a temporary workaround you can use Template column with a DataField set.
New
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>
New
Last Updated: 09 Oct 2018 12:32 by Roman
Created by: Roman
Comments: 0
Category: Grid
Type: Feature Request
0
Are you using your Norton account on your android phone and finding problems in sending Antivirus? The many people base this type of issue on android platforms. There can be some issue in the compatibility between android and Norton.  Visit For More Info :-  https://www.nortoncontactsupport.com/
https://www.nortoncontactsupport.com/contact-us.html
https://www.nortoncontactsupport.com/disclaimer.html
https://www.nortoncontactsupport.com/blog/norton-technical-support-number-know-where-you-all-need-it/
Completed
Last Updated: 04 Oct 2018 08:04 by Andy Green
Alternating Row style of RadGrid is not applied when using Bootstrap skin.

Steps to reproduce:
For all other Skins these approaches work:
        div.RadGrid tr.rgAltRow {
            background-color: aqua;
        }

Or:
 <AlternatingItemStyle BackColor="Aqua" />

The reason probably is because there is >td directive built-in, which needs to be overridden manually in order for the styling to take effect (this works):
        div.RadGrid tr.rgAltRow > td {
            background-color: aqua;
        }


A possible workaround for this issue is available in the following forum post:
https://www.telerik.com/forums/alternatingitemstyle-5e16887f3085#odVQBomUikiIJfrxeBQrww
New
Last Updated: 19 Sep 2018 14:17 by Alan
Created by: Alan
Comments: 0
Category: Grid
Type: Feature Request
0
Currently when doing a Batch Edit with the Grid each row and cell must be updated with a new/edited value before saving.

Example: a User has a Grid containing records and would like to update several records because a Date field requires updating.

Can it be possible for the User to select the Rows they would like to update, Edit the Date Field(using the example above), but this time when Saved all records that were selected are updated. 

This solution may require a modal to be displayed that shows all fields available, similar to Edit/Insert grid Popup. The appropriate field is then updated and saved only to selected records.

This feature would save a lot of time by not having to edit each row individually then saving.
Completed
Last Updated: 13 Sep 2018 08:43 by Attila Antal
RadGrid GridDateTimeColumnEditor is unable to process data of type TimeSpan if PickerType is set to TimePicker.

As a workaround, a GridTemplateColumn can be used with a TimePicker inside EditTemplate

<telerik:GridTemplateColumn>
	<ItemTemplate>
		<%# Eval("Field") %>
	</ItemTemplate>
	<EditItemTemplate>
		<telerik:RadTimePicker ID="RadTimePicker1" runat="server" SelectedTime='<%# Eval("Field") %>'></telerik:RadTimePicker>
	</EditItemTemplate>
</telerik:GridTemplateColumn>
Approved
Last Updated: 12 Sep 2018 14:26 by Smit
Completed
Last Updated: 11 Sep 2018 17:05 by Beth
Hi,

Currently JAWS user cannot use the arrow keys to select a filter operator. Please enable arrow keys support to filter context menu for JAWS user. 
Refer Telerik support ticket - 1081707 for more information.

Regards
Kishor
Approved
Last Updated: 07 Sep 2018 09:20 by ADMIN
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>

Approved
Last Updated: 10 Aug 2018 08:42 by ADMIN
When scroll inside RadGrid in Chrome on a mobile device or in the DevTools responsive/mobile mode, the browser throws [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See  https://www.chromestatus.com/features/5093566007214080. I get 1 error message for every pixel the grid scrolls. 

The problem is due to jQuery and is reproducible with 1.12.4 and 3.3.1 versions of it.
New
Last Updated: 19 Jul 2018 09:00 by Tsvetomir
Such an exposed method, which returns the value from the ExportOutput, would be useful to further enhance the exporting capabilities of the RadGrid control. A very practical example would be to export numerous RadGrid controls into one Excel file.
New
Last Updated: 16 Jul 2018 12:19 by ADMIN
It becomes hard to see the checked checkboxes because of the selected color it has by default matches the select color of the grid

Workaround:

        .RadGrid_BlackMetroTouch .rgSelectedRow .RadCheckBox.RadButton_BlackMetroTouch .rbToggleCheckboxChecked::before,
        .RadGrid_Bootstrap .rgSelectedRow .RadCheckBox.RadButton_Bootstrap .rbToggleCheckboxChecked::before,
        .RadGrid_Metro .rgSelectedRow .RadCheckBox.RadButton_Metro .rbToggleCheckboxChecked::before,
        .RadGrid_MetroTouch .rgSelectedRow .RadCheckBox.RadButton_MetroTouch .rbToggleCheckboxChecked::before {
            color: white;
        }

        .RadGrid_Glow .rgSelectedRow .RadCheckBox.RadButton_Glow .rbToggleCheckboxChecked::before,
        .RadGrid_Office2010Black .rgSelectedRow .RadCheckBox.RadButton_Office2010Black .rbToggleCheckboxChecked::before,
        .RadGrid_Telerik .rgSelectedRow .RadCheckBox.RadButton_Telerik .rbToggleCheckboxChecked::before,
        .RadGrid_WebBlue .rgSelectedRow .RadCheckBox.RadButton_WebBlue .rbToggleCheckboxChecked::before {
            color: black;
        }

Sample to reproduce the behavior and compare the default colors in other states/cases:

        <telerik:RadCheckBox runat="server" ID="rcb1"></telerik:RadCheckBox>
        <br />
        <telerik:RadCheckBox runat="server" ID="rcb2" Checked="true"></telerik:RadCheckBox>
        <telerik:RadSkinManager runat="server" ID="RadSkinManager1" Skin="Bootstrap" ShowChooser="true">
        </telerik:RadSkinManager>
        <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="All" RenderMode="Lightweight" />
        <asp:CheckBox ID="Checkbox1" Text="some checkbox" runat="server" />
        <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" RenderMode="Lightweight">
            <MasterTableView>
                <Columns>
                    <telerik:GridClientSelectColumn></telerik:GridClientSelectColumn>
                    <telerik:GridTemplateColumn HeaderText="rad check box column">
                        <ItemTemplate>
                            <telerik:RadCheckBox runat="server" ID="RadCheckBox1"></telerik:RadCheckBox>
                            <br />
                            <telerik:RadCheckBox runat="server" ID="RadCheckBox2" Checked="true"></telerik:RadCheckBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>
            <ClientSettings>
                <Selecting AllowRowSelect="true" />
            </ClientSettings>
        </telerik:RadGrid>

And a dummy data source that is not a good data source in general, but it will suffice to get this running so one can observe

    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        (sender as RadGrid).DataSource = "abcdef";
    }
1 2 3 4 5 6