Declined
Last Updated: 05 Apr 2019 14:30 by ADMIN

To reproduce:

Update the data source directly and check the OldItems array.

Completed
Last Updated: 02 Apr 2019 11:22 by ADMIN
Release R1 2019 (2019.1.117)
To reproduce: change the decimal separator to ",".

Please refer to the attached sample project and follow the steps from the attached gif file. 

Workaround: change the CurrentCulture in your application in order to affect the decimal separator:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
            
Unplanned
Last Updated: 29 Mar 2019 16:16 by ADMIN
When UseCompatibleTextRendering property is set to false, the data cells overlaps the row header cells when horizontal scrolling is performed.
Unplanned
Last Updated: 29 Mar 2019 13:48 by ADMIN

How can I enter the Value "" (empty string) in the traditional filter system (not Excel like filter).

The grid does not seem to accept an empty string as an argument to "Equals" through the UI.

Ideally I would like to extend the standard filter menu in traditional filtering (and the filter operator drop down in custom filtering dialog) to contain operators "Is Empty" "Is Not Empty" and "Is Null Or Empty", "Is Not Null And Not Empty"

Regards

Erwin

Completed
Last Updated: 21 Mar 2019 17:46 by Dimitar
Use attached to reproduce.
Completed
Last Updated: 21 Mar 2019 15:08 by ADMIN
Release 2019.1.318 (03/18/2019)

When you start typing in the search text box some long text, not all key strokes will be handled. Please refer to the attached gifs file illustrating the behavior in the previous version and the latest release. 

Please refer to the attached sample project. Run the project and try typing "too long to type" in as your search.

Unplanned
Last Updated: 19 Mar 2019 10:29 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: GridView
Type: Bug Report
4
To reproduce: use the following code snippet, save the layout and load it afterwards. You will notice that only the master and the first child template are successfully loaded.

public Form1()
{
    InitializeComponent();
    DataTable dt = new DataTable();
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Name", typeof(string));
    for (int i = 0; i < 5; i++)
    {
        dt.Rows.Add(i, "Parent" + i);
    }

    this.radGridView1.MasterTemplate.DataSource = dt;
    this.radGridView1.MasterTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;

    //child level 1
    GridViewTemplate template = new GridViewTemplate();
    template.DataSource = GetData(5, 20, 0, 5);
    template.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
    radGridView1.MasterTemplate.Templates.Add(template);

    GridViewRelation relation = new GridViewRelation(radGridView1.MasterTemplate);
    relation.ChildTemplate = template;
    relation.RelationName = "ParentChild";
    relation.ParentColumnNames.Add("Id");
    relation.ChildColumnNames.Add("ParentId");
    radGridView1.Relations.Add(relation);

    //child level 2
    GridViewTemplate template2 = new GridViewTemplate();
    template2.DataSource = GetData(20, 40, 5, 20);
    template2.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
    template.Templates.Add(template2);

    GridViewRelation relation2 = new GridViewRelation(template);
    relation2.ChildTemplate = template2;
    relation2.RelationName = "ParentChild";
    relation2.ParentColumnNames.Add("Id");
    relation2.ChildColumnNames.Add("ParentId");
    radGridView1.Relations.Add(relation2);

    //child level 3
    GridViewTemplate template3 = new GridViewTemplate();
    template3.DataSource = GetData(40, 100, 20, 40);
    template3.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
    template2.Templates.Add(template3);

    GridViewRelation relation3 = new GridViewRelation(template2);
    relation3.ChildTemplate = template3;
    relation3.RelationName = "ParentChild";
    relation3.ParentColumnNames.Add("Id");
    relation3.ChildColumnNames.Add("ParentId");
    radGridView1.Relations.Add(relation3);

    //child level 4
    GridViewTemplate template4 = new GridViewTemplate();
    template4.DataSource = GetData(100, 200, 40, 100);
    template4.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
    template3.Templates.Add(template4);

    GridViewRelation relation4 = new GridViewRelation(template3);
    relation4.ChildTemplate = template4;
    relation4.RelationName = "ParentChild";
    relation4.ParentColumnNames.Add("Id");
    relation4.ChildColumnNames.Add("ParentId");
    radGridView1.Relations.Add(relation4);
}

private object GetData(int from, int to, int parentFrom, int parentTo)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Name", typeof(string));  
    dt.Columns.Add("ParentId", typeof(int));
    Random rand = new Random();
    for (int i = from; i < to; i++)
    {
        dt.Rows.Add(i, "Child" + i, rand.Next(parentFrom, parentTo));
    }
    return dt;
}

private void radButton1_Click(object sender, EventArgs e)
{
    string s = "default.xml";
    SaveFileDialog dialog = new SaveFileDialog();
    dialog.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";
    dialog.Title = "Select a xml file";
    if (dialog.ShowDialog() == DialogResult.OK)
    {
        s = dialog.FileName;
    }
    this.radGridView1.SaveLayout(s);
}

private void radButton2_Click(object sender, EventArgs e)
{
    string s = "default.xml";
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";
    dialog.Title = "Select a xml file";
    if (dialog.ShowDialog() == DialogResult.OK)
    {
        s = dialog.FileName;
    }
    this.radGridView1.LoadLayout(s);
}


Workaround: grid templates for the inner levels are recreated after loading the layout. Their DataSource is null and the existing relations points to the old templates. Clear the relations and setup them again with the new  child template instances.
Unplanned
Last Updated: 19 Mar 2019 07:32 by ADMIN

To reproduce: 

- Add items with the same display member open the drop-down and select the second.

- Select another control on the form and then reopen the popup.

- The first item is selected.

Workaround: 

class MyMultiColumnComboBox : RadMultiColumnComboBox
{
    protected override void OnLostFocus(EventArgs e)
    {
        if (this.DropDownStyle == Telerik.WinControls.RadDropDownStyle.DropDownList)
        {
            return;
        }
        base.OnLostFocus(e);
    }
}

Completed
Last Updated: 13 Mar 2019 16:21 by ADMIN
Release 2018.3.1016
How to reproduce: 
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        ThemeResolutionService.AllowAnimations = false;
        this.radGridView1.DataSource = this.GetData();
    }

    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Id", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Rows.Add(1, "\u0002x09");
        for (int i = 1; i < 10; i++)
        {
            dt.Rows.Add(i, "name");
        }

        return dt;
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridView1);
        spreadExporter.FileExportMode = FileExportMode.CreateOrOverrideFile;
        SpreadExportRenderer exportRenderer = new SpreadExportRenderer();
        spreadExporter.RunExport(@"..\..\exported-file.xlsx", exportRenderer);
    }
}

ArgumentException with clarification similar to  "'\u001f', hexadecimal value 0x1F, is an invalid character." is thrown when trying to export document containing characters which are not supported in XML document - such as some control characters like 0x00, 0x1F, 0x1B, etc. Such characters are described in the XML specification here: https://www.w3.org/TR/xml/#charsets.

Although the escaped strings are not supported (see  https://feedback.telerik.com/Project/184/Feedback/Details/190228 ), the library could prevent the exception and export the document successfully by skipping such characters.

Workaround: remove such characters before the export. Check the following StackOverflow answer for some ideas on code for replacing the characters: http://stackoverflow.com/a/14323524/259206
Completed
Last Updated: 13 Mar 2019 13:38 by ADMIN
Release 2019.1.117
How to reproduce: bind the grid using the code snippet below and enter name in the SearchRow
public partial class RadForm1 : Telerik.WinControls.UI.RadForm
{
    public RadForm1()
    {
        InitializeComponent();

        this.radGridView1.DataSource = this.GetData();
        this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
        this.radGridView1.AllowSearchRow = true;

        this.radGridView1.MasterView.TableSearchRow.InitialSearchResultsTreshold = 0;
        this.radGridView1.MasterView.TableSearchRow.SearchResultsGroupSize = int.MaxValue;;
    }

    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Id", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("Date", typeof(DateTime));
        dt.Columns.Add("Bool", typeof(bool));
        dt.Columns.Add("Description", typeof(string));
        for (int i = 0; i < 2000; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                dt.Rows.Add(i, "Name " + j, DateTime.Now.AddDays(i), i % 2 == 0 , "Description " + i);
            }
        }

        return dt;
    }
}

Workaround: in the search row, set the InitialSearchResultsTreshold property to 0 and the SearchResultsGroupSize property to int.MaxValue
public RadForm1()
{
    InitializeComponent();

    this.radGridView1.DataSource = this.GetData();
    this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
    this.radGridView1.AllowSearchRow = true;

    this.radGridView1.MasterView.TableSearchRow.SearchProgressChanged += TableSearchRow_SearchProgressChanged;
    this.radGridView1.MasterView.TableSearchRow.InitialSearchResultsTreshold = 0;
    this.radGridView1.MasterView.TableSearchRow.SearchResultsGroupSize = int.MaxValue;
}
Completed
Last Updated: 27 Feb 2019 08:40 by ADMIN
To reproduce: please refer to the attached sample project and follow the steps from the attached gif file.

1. Run the project and type "hana" in the second filter cell. You will notice that after a few seconds the input is handled and the grid is filtered.

Workaround: use RadVirtualGrid instead. 
https://docs.telerik.com/devtools/winforms/virtualgrid/overview
https://docs.telerik.com/devtools/winforms/virtualgrid/filtering/filtering

Second workaround: https://docs.telerik.com/devtools/winforms/gridview/filtering/how-to/filter-on-enter
Unplanned
Last Updated: 26 Feb 2019 21:09 by Bryan Cho
Changing the DataSource or scrolling are slow.

Create a grid with more than 20 columns and add 5K rows for example. Maximize the form and try to scroll with mouse wheel. You will notice that the scrolling performance is worse compared to the normal state of the form with less visible visual elements.

Workaround: this.radGridView1.EnableFastScrolling = true; and use the scrollbar's thumb

Second workaround: use paging:  https://docs.telerik.com/devtools/winforms/gridview/paging/overview Thus, you will display as many rows as possible to display on the screen per page. Instead of scrolling, you will navigate through pages.
Unplanned
Last Updated: 21 Feb 2019 08:27 by ADMIN
To reproduce:
- Filter a self-referencing grouped grid. 

Workaround:
private void _rgvFreeCodeValues_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
{
    foreach (var row in RgvFreeCodeValues.Rows)
        row.IsExpanded = false;
}

private void _rgvFreeCodeValues_FilterChanging(object sender, GridViewCollectionChangingEventArgs e)
{
    foreach (var row in RgvFreeCodeValues.Rows)
        row.IsExpanded = true;
}
Completed
Last Updated: 21 Feb 2019 05:42 by ADMIN
This was working this way in 2017 then we changer it so all rows are affected. 

Bot modes should be supported. 

Completed
Last Updated: 13 Feb 2019 15:39 by ADMIN

Dears

Looks like after last Telerik update to 2019.1.117.40 lilter do digits/numbers is not working any more. When I'd like filter out on decimal columns (or even text column but with linked decimal/int values) I get no results, no rows.

With text columns all is ok.

 

BR

Completed
Last Updated: 05 Feb 2019 14:59 by ADMIN
Completed
Last Updated: 05 Feb 2019 14:29 by ADMIN
To reproduce: Initially, the row at index 0 is white, when you move it to index 5 it is still white until you hover it:

        public RadForm1()
        {
            InitializeComponent();

            this.radGridView1.Columns.Add("Data");
            for (int i = 0; i < 100; i++)
            {
                this.radGridView1.Rows.Add(i);
            }
            this.radGridView1.EnableAlternatingRowColor = true;
            this.radGridView1.TableElement.AlternatingRowColor = Color.Aqua;
        }
        
        private void radButton1_Click(object sender, EventArgs e)
        {
            this.radGridView1.Rows.Move(0, 5);
        }

Workaround:

        private void radButton1_Click(object sender, EventArgs e)
        {
            this.radGridView1.Rows.Move(0, 5);
            this.radGridView1.Rows[5].InvalidateRow();
        }
Completed
Last Updated: 11 Jan 2019 10:58 by ADMIN
ADMIN
Created by: Hristo
Comments: 0
Category: GridView
Type: Feature Request
2

			
Completed
Last Updated: 11 Jan 2019 10:51 by ADMIN
ADMIN
Created by: Peter
Comments: 2
Category: GridView
Type: Feature Request
6
GridTimeColumn will display and allow user to edit with TimeEditor Time and Time-Span column types from the Database.