Completed
Last Updated: 13 Jul 2011 05:38 by ADMIN
Pressing Ctrl+Shift+Home should select all rows from the current one to the first row.
Pressing Ctrl+Shift+End should select all rows from the current one to the last row.
Completed
Last Updated: 15 Dec 2011 05:04 by ADMIN
ADMIN
Created by: Jack
Comments: 0
Category: GridView
Type: Feature Request
1
When there are a lot of groups in the group panel there is a scrollbar. However sometimes it is convenient to resize this panel to allow all groups to be visible. Currently this is not possible.
Completed
Last Updated: 10 Jan 2013 04:29 by ADMIN
1. Create a new project with RadGridView and setup grouping.
2. Run the project, expand several groups and start navigating with left / right keys.
3. You will see that when navigating through group rows, RadGridView iterates all columns. It should select the next/previous row with a single click.
Completed
Last Updated: 20 Dec 2016 06:53 by ADMIN
A developer should be able to remove certain fields from there, so his end-users cannot use them to build their expressions.
Completed
Last Updated: 26 Jun 2015 12:06 by ADMIN
ADD. RadGridView - one should be able to show the header row on each page exported in PDF
Completed
Last Updated: 12 Jun 2014 06:06 by ADMIN
A few threads have been posted over the years to ask about natural sorting, which is clicking a column header to go Ascending, Descending, then back to the default unsorted mode on the third click. I looked around for a tri-state or three-state toggle and didn't find any info.  Very helpful but incomplete info is found here and here, so I thought I'd provide C# code to help anyone else looking to do this. Some threads refer to MasterGridViewTemplate.AllowNaturalSort but that property no longer exists. My code is adapted from the second forum posting referenced. It looks like the library has changed since Sean wrote his code.

Telerik.WinControls.Data.SortDescriptor.Direction is of type System.ComponentModel.ListDirection, and that enum only has two values. So the Boolean _sorted is used - if the grid is sorted in ascending or descending order, then use the sort order, but  if we click past descending order, set _sorted to false (natural sort!) and clear the SortDescriptors.

Of course clearing SortDescriptors means this only works with single column sorting. Maybe someone will follow-up here with a solution that works with multiple columns.
Completed
Last Updated: 25 May 2011 04:48 by ADMIN
ADMIN
Created by: Jack
Comments: 0
Category: GridView
Type: Feature Request
1
Currently RadGridView does not show error indication when the ErrorProvider.SetError method is called
Completed
Last Updated: 09 Dec 2010 03:02 by ADMIN
No data to display view for every child template in hierarchy mode and ActiveViewChanged event to support implementation of custom logic

COMMENT: NoDataToDisplay text is not specific for any view. It appears only when RadGridView is empty. Child views do not take place when there are no child rows in them and there is no need to show the text for child views.
Completed
Last Updated: 26 Sep 2010 10:19 by Jesse Dyck
ADMIN
Created by: Julian Benkov
Comments: 1
Category: GridView
Type: Feature Request
1
Custom filtering for Enum types, TypeConverter support for business object bind to RadGridView
Completed
Last Updated: 01 Nov 2012 10:23 by Svetlin
Add BestFitColumnMode.AllCells that performs column best fit operation over all rows.
Completed
Last Updated: 01 Aug 2014 07:29 by Svetlin
Created by: Svetlin
Comments: 0
Category: GridView
Type: Feature Request
1
The Column Chooser of RadGridView should show the invisible columns sorted.
Completed
Last Updated: 01 Oct 2014 08:02 by ADMIN
Extend the cell elements with a button(s) (via decorator for example) which will be visible without putting the grid in edit mode. The buttons should not be visible by default and their visibility will be controlled via property of the column. These buttons can be RadButtonElements which will not hurt the performance. Their purpose will be to inform the end user that some cell is a combo or a date time cell without having to open its editor in advance. When the button is clicked, the corresponding action should be executed e.g. for combo cell, open the editor and show the popup; for spin cell open the editor and perform the click of the desired button. Same goes for the rest of the editors - mccb, color, browse, date time, etc.
Completed
Last Updated: 26 May 2011 02:27 by Svetlin
Created by: Svetlin
Comments: 0
Category: GridView
Type: Feature Request
1
Char type filtering should be allowed for all filtering operators supported by the string type (except: StartsWith, EndsWith, Contains and NotContains)
Completed
Last Updated: 12 Apr 2011 08:32 by Svetlin
The BestFitColumns algorithm should be performed for columns groups in ColumnGroupsViewDefinition.
Completed
Last Updated: 20 Oct 2011 10:47 by ADMIN
Steps to recreate this scenario:
Create an interface e.g. IBaseInterface with couple of properties.
Create another interface e.g. IChildInterface which implements the first one
Create a class which implements the second interface.
Create a list with items of type the child interface.
Fill the list with objects of type the class.
THE PROBLEM IS VALID ONLY FOR 2.0 NET FRAMEWORK!
FIXED TO WORK WITH ALL VERSIONS UNCLUDING TREEVIEW!
When a control is bound to this list it will only "see" the properties defined in the child interface.
test:
----------------------------------------------
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace Lab.Grid
{
public partial class GridInterfaceInheritanceBinding : MainForm
{
private RadGridView gridView = new RadGridView();
private RadDropDownList comboBox = new RadDropDownList();
public GridInterfaceInheritanceBinding()
{
InitializeComponent();
gridView.Dock = DockStyle.Fill;
gridView.Parent = this;
gridView.BringToFront();
comboBox.Width = 200;
comboBox.Parent = this;
comboBox.BringToFront();
Random r = new Random(DateTime.Now.Second);
List<ITelephone> phones = new List<ITelephone>();
for (int i = 0; i < 10; i++)
{
Telephone phone = new Telephone();
phone.Type = r.Next(3) + 1;
phone.Primary = true;
phone.PRI = i;
phone.ParentType = 1;
phone.Number = "1-800-555-555" + i.ToString();
phone.LockedOn = null;
phone.LockedBy = null;
phone.Locked = 0;
phone.ID = new Guid();
phone.Deleted = false;
phone.Archived = false;
phone.Active = true;
phones.Add(phone);
}
comboBox.DisplayMember = "Number";
comboBox.ValueMember = "PRI";
comboBox.DataSource = phones;
gridView.DataSource = phones;
}
}
public interface IBusinessObject
{
long PRI { get; set; }
bool Active { get; set; }
bool Archived { get; set; }
bool Deleted { get; set; }
byte Locked { get; set; }
string LockedBy { get; set; }
DateTime? LockedOn { get; set; }
Guid ID { get; set; }
}
public interface IStandardLinkTable : IBusinessObject
{
long? ParentPRI { get; set; }
int? ParentType { get; set; }
int? Type { get; set; }
}
public interface ITelephone : IStandardLinkTable
{
string Number { get; set; }
bool? Primary { get; set; }
}
public class Telephone : IBusinessObject, ITelephone
{
public System.Guid ID { get; set; }
private System.Guid _originalid { get; set; }
public System.Int64 PRI { get; set; }
private System.Int64 _originalpri { get; set; }
public System.Byte Class { get; set; }
private System.Byte _originalclass { get; set; }
public System.Int64? ParentPRI { get; set; }
private System.Int64? _originalparentpri { get; set; }
public System.Int32? ParentType { get; set; }
private System.Int32? _originalparenttype { get; set; }
public System.Int32? Type { get; set; }
private System.Int32? _originaltype { get; set; }
public System.String Number { get; set; }
private System.String _originalnumber { get; set; }
public System.Boolean? Primary { get; set; }
private System.Boolean? _originalprimary { get; set; }
public System.Byte Locked { get; set; }
private System.Byte _originallocked { get; set; }
public System.String LockedBy { get; set; }
private System.String _originallockedby { get; set; }
public System.DateTime? LockedOn { get; set; }
private System.DateTime? _originallockedon { get; set; }
public System.Boolean Active { get; set; }
private System.Boolean _originalactive { get; set; }
public System.Boolean Archived { get; set; }
private System.Boolean _originalarchived { get; set; }
public System.Boolean Deleted { get; set; }
private System.Boolean _originaldeleted { get; set; }
internal void SetInitialValues()
{
_originalid = ID;
_originalpri = PRI;
_originalclass = Class;
_originalparentpri = ParentPRI;
_originalparenttype = ParentType;
_originaltype = Type;
_originalnumber = Number;
_originalprimary = Primary;
_originallocked = Locked;
_originallockedby = LockedBy;
_originallockedon = LockedOn;
_originalactive = Active;
_originalarchived = Archived;
_originaldeleted = Deleted;
}
}
}
Completed
Last Updated: 06 Feb 2013 06:04 by ADMIN
Currently developers can localize the names of the properties. They should be able to localize the descriptions as well.
Completed
Last Updated: 23 Apr 2014 12:56 by ADMIN
ADMIN
Created by: Martin Vasilev
Comments: 0
Category: GridView
Type: Feature Request
1
Include an easy way to clear selection and current row if the data source changed. Currently, it sets the first row as current and there is not a clear way to avoid this on every data source change.
Completed
Last Updated: 23 Apr 2014 12:56 by ADMIN
ADMIN
Created by: Martin Vasilev
Comments: 0
Category: GridView
Type: Feature Request
1
Default sort in excel-like filtering menu always is as text. Should be appropriate for given data type (for example numeric or DateTime)
Completed
Last Updated: 23 Apr 2014 12:56 by ADMIN
Implement a property such as EncloseDataWithQuotes, which should get or set whether the exported data should contain quotes 
http://www.telerik.com/help/aspnet-ajax/p_telerik_web_ui_gridcsvsettings_enclosedatawithquotes.html
Completed
Last Updated: 09 Mar 2015 13:47 by ADMIN
RADGRIDVIEW Extend it with the following localization string ids:

– RadGridStringId.FilterMenuSelectionTrue
– RadGridStringId.FilterMenuSelectionFalse

Resolution: 
The mentioned strings are not predefined strings within RadGridView. They come from the values of the column being filtered (e.g. if the column is a checkbox column, all values are either True or False). Therefore, to localize them, you need to use a ValueConverter and override the conversion to string:

    this.radGridView1.Columns[3].DataTypeConverter = new MyConverter();

    class MyConverter : BooleanConverter
    {
        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        {
            if (destinationType == typeof(string))
            {
                if (Object.Equals(value, "True") || (value is bool && (bool)value))
                    return "Yes";

                if (Object.Equals(value, "False") || (value is bool && !(bool)value))
                    return "No";
            }

            return base.ConvertTo(context, culture, value, destinationType);
        }
    }