Completed
Last Updated: 28 Sep 2018 11:29 by Dimitar
How to reproduce:
public partial class Form1 : Form
{
    private RadGridView grid = new RadGridView();

    public Form1()
    {
        InitializeComponent();

        Controls.Add(grid);
        grid.Dock = DockStyle.Fill;
        grid.DataSource = this.GetData();
    }

    private object GetData()
    {
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Id", typeof(int));
        dataTable.Columns.Add("Name", typeof(string));
        dataTable.Columns.Add("Checked", typeof(bool));

        for (int i = 0; i < 200; i++)
        {
            dataTable.Rows.Add(i, "Name " + i, i % 2 == 0);
        }

        return dataTable;
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        grid.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

        GridViewCheckBoxColumn checkBoxColumn = (GridViewCheckBoxColumn)grid.Columns["Checked"];
        checkBoxColumn.EnableHeaderCheckBox = true;
        checkBoxColumn.SortOrder = RadSortOrder.Ascending;
    }
}

Workaround: 
public partial class Form1 : Form
{
    private RadGridView grid = new RadGridView();

    public Form1()
    {
        InitializeComponent();

        Controls.Add(grid);
        grid.Dock = DockStyle.Fill;
        grid.DataSource = this.GetData();

        grid.MouseDown += grid_MouseDown;
        grid.MouseUp += grid_MouseUp;
    }

    private object GetData()
    {
        DataTable dataTable = new DataTable();
        dataTable.Columns.Add("Id", typeof(int));
        dataTable.Columns.Add("Name", typeof(string));
        dataTable.Columns.Add("Checked", typeof(bool));

        for (int i = 0; i < 200; i++)
        {
            dataTable.Rows.Add(i, "Name " + i, i % 2 == 0);
        }

        return dataTable;
    }

    private void grid_MouseDown(object sender, MouseEventArgs e)
    {
        RadGridView grid = (RadGridView)sender;
        RadCheckBoxElement cell = grid.ElementTree.GetElementAtPoint(e.Location) as RadCheckBoxElement;
        if (cell != null && cell.Parent is GridCheckBoxHeaderCellElement)
        {
            sw = new Stopwatch();
            sw.Start();
            grid.BeginUpdate();
        }
    }

    Stopwatch sw;
    private void grid_MouseUp(object sender, MouseEventArgs e)
    {
        RadGridView grid = (RadGridView)sender;
        RadCheckBoxElement cell = grid.ElementTree.GetElementAtPoint(e.Location) as RadCheckBoxElement;
        if (cell != null && cell.Parent is GridCheckBoxHeaderCellElement)
        {
            grid.EndUpdate();
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);
        }
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        grid.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

        GridViewCheckBoxColumn checkBoxColumn = (GridViewCheckBoxColumn)grid.Columns["Checked"];
        checkBoxColumn.EnableHeaderCheckBox = true;
        checkBoxColumn.SortOrder = RadSortOrder.Ascending;
    }
}


Completed
Last Updated: 27 Sep 2018 06:56 by Dimitar
Use attached to reproduce.
- Edit random cell and press Enter.
- Check the CellValueChanged event handler, the changes variable is null.

This will work if you comment the OnShown method.

Workaround:
IEditableObject editbaleObject = radGridView1.CurrentRow.DataBoundItem as IEditableObject;
if (editbaleObject != null)
{
     editbaleObject.EndEdit();
}
Completed
Last Updated: 27 Sep 2018 06:56 by Dimitar
Use attached to reproduce.
- Check then try to uncheck the rows.

Workaround:
private void RadGridView1_CreateCell(object sender, GridViewCreateCellEventArgs e)
{
    if (e.CellType == typeof(GridCheckBoxHeaderCellElement))
    {
        e.CellElement = new MyHeaderCheckboxCellElement(e.Column, e.Row);
    }
}

class MyHeaderCheckboxCellElement : GridCheckBoxHeaderCellElement
{
    public MyHeaderCheckboxCellElement(GridViewColumn col, GridRowElement row) : base (col, row)
    { }
    protected override void checkbox_ToggleStateChanged(object sender, StateChangedEventArgs args)
    {
        base.checkbox_ToggleStateChanged(sender, args);
        var prop = this.ViewInfo.GetType().GetProperty("Version", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
        int value = (int)prop.GetValue(this.ViewInfo);
        prop.SetValue(this.ViewInfo, --value);

    }
}
Completed
Last Updated: 27 Sep 2018 06:54 by Dimitar
Use attached to reproduce.
- Open the data filter dialog from the excel-like filtering on the date column.
- The date time format in the editor is not respected.
- Consider the default cell editor as well.  

Workaround:

private void RadGridView1_CreateCompositeFilterDialog(object sender, GridViewCreateCompositeFilterDialogEventArgs e)
{
    var dialog = e.Dialog as CompositeDataFilterForm;
    dialog.DataFilter.EditorInitialized -= DataFilter_EditorInitialized;
    dialog.DataFilter.EditorInitialized += DataFilter_EditorInitialized;
 
    dialog.DataFilter.NodeFormatting -= DataFilter_NodeFormatting;
    dialog.DataFilter.NodeFormatting += DataFilter_NodeFormatting;
}
 
private void DataFilter_NodeFormatting(object sender, TreeNodeFormattingEventArgs e)
{
    var criteriaNode = e.NodeElement as DataFilterCriteriaElement;
    if (criteriaNode != null)
    {
        var node = criteriaNode.Data as DataFilterCriteriaNode;
        if (node.DescriptorValue != null && node.PropertyName == "Date")
        {
            criteriaNode.ValueElement.Text = ((DateTime?)node.DescriptorValue).Value.ToString("MM/dd/yyyy");
        }
    }
}
 
private void DataFilter_EditorInitialized(object sender, TreeNodeEditorInitializedEventArgs e)
{
    var editor = e.Editor as TreeViewDateTimeEditor;
    if (editor != null)
    {
        var element = editor.EditorElement as BaseDateTimeEditorElement;
        element.Format = DateTimePickerFormat.Custom;
        element.CustomFormat = "dd/MM/yyyy";
    }
}
 
Completed
Last Updated: 27 Sep 2018 06:54 by Dimitar
To reproduce: setup self-reference hierarchy. Add a GridViewHyperlinkColumn and show the expander item in this column. Please refer to the attached screenshot. The hyperlink text overlaps with the expander.

Workaround: set the MasterTemplate.SelfReferenceExpanderColumn to a different column. 
Completed
Last Updated: 27 Sep 2018 06:53 by ADMIN
Created by: Svetlin
Comments: 4
Category: GridView
Type: Feature Request
10
A title or caption that can be positioned on the top or bottom of RadGridView that shows a text defined by developer.
Unplanned
Last Updated: 21 Sep 2018 08:40 by ADMIN
After populating the RadGridView, unbound in this example, I use RadGridView1.ClearSelection. This works when using some themes such as Crystal and Office2013, but not others, like Fluent. See attached..... believe me that the code is EXACTLY the same for each, just the application theme is difference. This should be an easy one to replicate.
Completed
Last Updated: 03 Sep 2018 07:46 by Dimitar
To reproduce:

public RadForm1()
{
    InitializeComponent();

    this.radGridView1.EnableFiltering = true;
    this.radGridView1.ShowHeaderCellButtons = true;

    this.radGridView1.FilterPopupRequired += radGridView1_FilterPopupRequired; 
}

private void radGridView1_FilterPopupRequired(object sender, Telerik.WinControls.UI.FilterPopupRequiredEventArgs e)
{
    e.FilterPopup.PopupOpening -= FilterPopup_PopupOpening; 
    e.FilterPopup.PopupOpening += FilterPopup_PopupOpening; 
}

private void FilterPopup_PopupOpening(object sender, CancelEventArgs args)
{
    args.Cancel = true;
}

Workaround: either set the ShowHeaderCellButtons property to false or closed the popup immediately after it is opened.

private void radGridView1_FilterPopupRequired(object sender, Telerik.WinControls.UI.FilterPopupRequiredEventArgs e)
{
    e.FilterPopup.PopupOpening -= FilterPopup_PopupOpening; 
    e.FilterPopup.PopupOpening += FilterPopup_PopupOpening; 
}

private void FilterPopup_PopupOpening(object sender, CancelEventArgs args)
{ 
    RadListFilterPopup popup = sender as RadListFilterPopup;
    popup.PopupOpened -= popup_PopupOpened;
    popup.PopupOpened += popup_PopupOpened;
}

private void popup_PopupOpened(object sender, EventArgs args)
{
    RadListFilterPopup popup = sender as RadListFilterPopup;
    popup.ClosePopup(RadPopupCloseReason.Mouse);
}

Completed
Last Updated: 31 Aug 2018 08:08 by Dimitar
To reproduce:
GridViewCheckBoxColumn chkCol = new GridViewCheckBoxColumn();

chkCol.HeaderText = "I have wrap text set yet I cannot see full column header text.";
chkCol.Width = 90;
chkCol.WrapText = true;
chkCol.EnableHeaderCheckBox = true;
chkCol.EditMode = EditMode.OnValueChange;
radGridView1.Columns.Add(chkCol);

Workaround:
private void RadGridView1_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
    var cell = e.CellElement as GridCheckBoxHeaderCellElement;
    if (cell != null)
    {
        cell.CheckBox.TextWrap = true;
    }
}
Completed
Last Updated: 31 Aug 2018 05:54 by Dimitar
Use attached to reproduce!

Workaround:
remove the Begin\End update block.
Completed
Last Updated: 31 Aug 2018 05:53 by Dimitar
To reproduce:
 private void radButton1_Click(object sender, EventArgs e)
        {
            RadPrintDocument printDocument = new RadPrintDocument();
            printDocument.DefaultPageSettings.Landscape = true; 
            printDocument.DocumentName = "Example Case";

            GridPrintStyle style = new GridPrintStyle(this.radGridView1)
            {
                FitWidthMode = PrintFitWidthMode.FitPageWidth,
                PrintGrouping = false,
                PrintSummaries = false,
                PrintHeaderOnEachPage = true,
                PrintHiddenColumns = false,
            };
            
            TableViewDefinitionPrintRenderer renderer = new TableViewDefinitionPrintRenderer(this.radGridView1);
            renderer.PrintPages.Add(
                this.radGridView1.Columns[1],
                this.radGridView1.Columns[2],
                this.radGridView1.Columns[3],
                this.radGridView1.Columns[4],
                this.radGridView1.Columns[5],
                this.radGridView1.Columns[6]);
            style.PrintRenderer = renderer;
            this.radGridView1.PrintStyle = style;

            this.radGridView1.PrintCellFormatting += RadGridView1_PrintCellFormatting;
            radGridView1.Print(true, printDocument);     
        }

        private void RadGridView1_PrintCellFormatting(object sender, Telerik.WinControls.UI.PrintCellFormattingEventArgs e)
        {
        }

Workaround: use the PrintCellFormatting  of the TableViewDefinitionPrintRenderer 
Completed
Last Updated: 28 Aug 2018 14:48 by Dimitar
To reproduce: run the sample approach an follow the steps:

1. Filter the "Mask" column by entering " " in the filter cell. Press Enter. The grid is filtered as expected. 
2. Activate the editor again and press Backspace+Enter. You will notice that it is not possible to clear the applied filter.

Workaround: use GridViewTextBoxColumn 
Completed
Last Updated: 28 Aug 2018 14:02 by Dimitar
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: GridView
Type: Feature Request
1
Add a new property AllowSelection/EnableSelection in order to control whether the use can select a cell/row.

Workaround:

Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.ProductsTableAdapter.Fill(Me.NwindDataSet.Products)
     
    Me.RadGridView1.CurrentRow = Nothing
    AddHandler Me.RadGridView1.SelectionChanging, AddressOf Grid_SelectionChanging
    AddHandler Me.RadGridView1.CurrentRowChanging, AddressOf Grid_CurrentRowChanging
End Sub
 
Private Sub Grid_SelectionChanging(sender As Object, e As Telerik.WinControls.UI.GridViewSelectionCancelEventArgs)
    e.Cancel = True
End Sub
 
Private Sub Grid_CurrentRowChanging(sender As Object, e As Telerik.WinControls.UI.CurrentRowChangingEventArgs)
    e.Cancel = True
End Sub
Completed
Last Updated: 22 Aug 2018 06:24 by Dimitar
To reproduce:

 if (e.CellElement.ColumnInfo.HeaderText == "CategoryID")
{
     e.CellElement.DrawText = false;
}
else
{
      e.CellElement.ResetValue(LightVisualElement.DrawTextProperty, ValueResetFlags.Local);
}

Workaround:
 
e.CellElement.DrawText = true;
Completed
Last Updated: 17 Aug 2018 06:57 by ADMIN
ADMIN
Created by: Telerik Admin
Comments: 8
Category: GridView
Type: Bug Report
1
Hi,

We got an issue comparable to the one already described (see 245938), using the same demo project
1) I add LastDeliveryDateTimeLocal column
2) remove groups
3) click on "Start async notifications"
4) click on the filter icon next to "LastDeliveryDateTimeLocal" column name
5) uncheck some values (08/09/2016, 11/11/2016, 03/01/2017)
6) click Ok
=> NullReferenceException
Completed
Last Updated: 16 Aug 2018 07:35 by ADMIN
Steps to reproduce:
1. Add a grid to a form and fill it with some data
2. Add a button and in the click event:
   a. Assign a new GridPrintStyle instance to the PrintStyle property
   b. Subscribe for the PrintCellFormatting event of the grid
   c. Call the PrintPreview method of the grid
3. Add a break point in the event handler of the PrintCellFormatting
4. Start the app and click the button. You will see that the break point is never hit.
Declined
Last Updated: 13 Aug 2018 03:37 by dion
"High Performance with RadGridView and Virtual Mode including Filtering, Sorting and Grouping" example is not working for RadGridView Q3 2015. When I click on the Column header for sorting ( same thing for grouping and filtering)  and I m getting exception "Sorting operation is not supported in VirtualMode.".  Same sample is working for Q3 2014. Following is the URL for the sample 
http://www.telerik.com/support/kb/winforms/gridview/details/high-performance-with-radgridview-and-virtual-mode-including-filtering-sorting-and-grouping
Completed
Last Updated: 02 Aug 2018 09:34 by ADMIN
1. Create a new project and add RadGridView.
2. Bind it and set the IsVisible property for some rows to false.
3. Run the project.
4. Scroll to bottom.
Completed
Last Updated: 01 Aug 2018 11:57 by Dimitar
Use attached to reproduce.

Workaround:
class MySpreadExportRenderer : SpreadExportRenderer
{
    public override void SetWorksheetColumnWidth(int columnIndex, double value, bool isCustom)
    {
        if (value > 2000)
        {
            value = 2000;
        }
        base.SetWorksheetColumnWidth(columnIndex, value, isCustom);
    }
}
Declined
Last Updated: 10 Jul 2018 17:06 by john
Created by: john
Comments: 2
Category: GridView
Type: Feature Request
0
how can i insert , update or delete? i tried after choosing the data source , it shows the data correctly but when i edit or add a new item the database is not affected (allow edit,delete and add row are set to true)