Completed
Last Updated: 12 Oct 2015 15:37 by ADMIN
To reproduce:

1. Perform searching in the grid.
2. Sort by a random column.
3. Navigating with next/previous buttons do not navigate the results in the displayed order. Please refer to the attached gif file.

Workaround: clear the cache of the search row after sorting is changed:
private void radGridView1_SortChanged(object sender, Telerik.WinControls.UI.GridViewCollectionChangedEventArgs e)
{
    string searchCriteria = this.radGridView1.MasterView.TableSearchRow.SearchCriteria;
     
    FieldInfo fi = typeof(GridViewSearchRowInfo).GetField("cache",
        System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
    Hashtable cache = fi.GetValue(this.radGridView1.MasterView.TableSearchRow) as Hashtable;
    cache.Clear();
   
    this.radGridView1.MasterView.TableSearchRow.Search(searchCriteria);
}
Completed
Last Updated: 14 Oct 2015 08:45 by ADMIN
To reproduce:
- Bind the grid to a DataView. The grid must have combo box column.
- Change the filter of the DataView like this:

Private Sub MasterTemplate_FilterExpressionChanged(sender As Object, e As FilterExpressionChangedEventArgs) Handles RadGridView.FilterExpressionChanged
    _companies.RowFilter = e.FilterExpression
End Sub

- Set a filter to the combo box column and then set reset by selecting no filter in the drop down. 

Workaround:
Public Class MyGridFilterComboBoxCellElement
	Inherits GridFilterComboBoxCellElement

	Public Sub New(ByVal col As GridViewDataColumn, ByVal row As GridRowElement)
		MyBase.New(col, row)
	End Sub
	Protected Overrides Sub SetContentCore(ByVal value As Object)
		If Me.ComboBoxColumnInfo IsNot Nothing Then
			MyBase.SetContentCore(value)
		End If

	End Sub
End Class

Private Sub radGridView1_CreateCell(ByVal sender As Object, ByVal e As GridViewCreateCellEventArgs)
	If e.CellType Is GetType(GridFilterComboBoxCellElement) Then
		e.CellType = GetType(MyGridFilterComboBoxCellElement)
	End If

End Sub
Completed
Last Updated: 12 Dec 2015 09:23 by ADMIN
To reproduce:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Me.CustomersTableAdapter.Fill(Me.NwindDataSet.Customers) 
    Dim view As New ColumnGroupsViewDefinition()
    view.ColumnGroups.Add(New GridViewColumnGroup("Customer Contact"))
    view.ColumnGroups.Add(New GridViewColumnGroup("Details"))
    view.ColumnGroups(1).Groups.Add(New GridViewColumnGroup("Address"))
    view.ColumnGroups(1).Groups.Add(New GridViewColumnGroup("Contact"))
    view.ColumnGroups(0).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("CompanyName"))
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("ContactName"))
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("ContactTitle"))

    view.ColumnGroups(1).Groups(0).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("Address"))
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("City"))
    view.ColumnGroups(1).Groups(0).Rows(0).Columns(1).RowSpan = 40
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("Country"))

    view.ColumnGroups(1).Groups(1).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(1).Groups(1).Rows(0).Columns.Add(Me.RadGridView1.Columns("Phone"))
    view.ColumnGroups(1).Groups(1).Rows(0).Columns.Add(Me.RadGridView1.Columns("Fax"))

    RadGridView1.ViewDefinition = view
    Dim summaryItem As New GridViewSummaryItem()
    summaryItem.Name = "Address"
    summaryItem.Aggregate = GridAggregateFunction.Count
    Dim summaryRowItem As New GridViewSummaryRowItem()

    summaryRowItem.Add(summaryItem)
    Me.RadGridView1.SummaryRowsTop.Add(summaryRowItem)
    Me.RadGridView1.MasterView.SummaryRows(0).PinPosition = PinnedRowPosition.Top
    Me.RadGridView1.MasterView.SummaryRows(0).Height = 20
End Sub


Workaround: use the ViewCellFormatting event and set the TextAlignment property to MiddleTop for the summary cells.
Completed
Last Updated: 12 Oct 2015 10:25 by ADMIN
To reproduce: 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    Me.CustomersTableAdapter.Fill(Me.NwindDataSet.Customers)
    Me.RadGridView1.DataSource = Me.CustomersBindingSource
    Dim view As New ColumnGroupsViewDefinition()
    view.ColumnGroups.Add(New GridViewColumnGroup("Customer Contact"))
    view.ColumnGroups.Add(New GridViewColumnGroup("Details"))
    view.ColumnGroups(1).Groups.Add(New GridViewColumnGroup("Address"))
    view.ColumnGroups(1).Groups.Add(New GridViewColumnGroup("Contact"))
    view.ColumnGroups(0).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("CompanyName"))
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("ContactName"))
    view.ColumnGroups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("ContactTitle"))

    view.ColumnGroups(1).Groups(0).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("Address"))
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("City"))
    view.ColumnGroups(1).Groups(0).Rows(0).Columns.Add(Me.RadGridView1.Columns("Country"))

    view.ColumnGroups(1).Groups(1).Rows.Add(New GridViewColumnGroupRow())
    view.ColumnGroups(1).Groups(1).Rows(0).Columns.Add(Me.RadGridView1.Columns("Phone"))
    view.ColumnGroups(1).Groups(1).Rows(0).Columns.Add(Me.RadGridView1.Columns("Fax"))
    RadGridView1.ViewDefinition = view

    RadGridView1.BestFitColumns(BestFitColumnMode.AllCells)
End Sub

Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
    Dim spreadExporter As New GridViewSpreadExport(RadGridView1)
    Dim fileName As String = "..\..\exported.xlsx"
    Dim exportRenderer As New SpreadExportRenderer()
    spreadExporter.SheetName = "Sheet1"
    spreadExporter.ExportVisualSettings = True
    spreadExporter.SummariesExportOption = SummariesOption.ExportOnlyTop
    spreadExporter.SheetMaxRows = ExcelMaxRows._1048576
    spreadExporter.HiddenColumnOption = HiddenOption.DoNotExport    
    spreadExporter.HiddenRowOption = HiddenOption.DoNotExport
    spreadExporter.FileExportMode = FileExportMode.CreateOrOverrideFile
    spreadExporter.RunExport(fileName, exportRenderer)
    Process.Start(fileName)
End Sub

Workaround: by using the SpreadExportRenderer.WorkbookCreated event you can remove the header cells and add new ones in order to display the same header layout as in the grid:
http://www.telerik.com/help/winforms/gridview-exporting-data-spread-export.html
http://www.telerik.com/help/winforms/spreadprocessing-working-with-cells-insert-remove-cells.html
http://www.telerik.com/blogs/getting-started-with-radspreadprocessing-volume-1
Completed
Last Updated: 14 Oct 2015 06:42 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    ColumnGroupsViewDefinition columnGroupsView;
     
    columnGroupsView = new ColumnGroupsViewDefinition();
    columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
    columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
    columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
    columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());

    columnGroupsView.ColumnGroups[0].ShowHeader = false;

    columnGroupsView.ColumnGroups[0].Rows.Add(new GridViewColumnGroupRow());
    columnGroupsView.ColumnGroups[0].Rows[0].ColumnNames.Add("colPINNED_LEFT");

    columnGroupsView.ColumnGroups[1].Rows.Add(new GridViewColumnGroupRow());
    columnGroupsView.ColumnGroups[1].Rows[0].ColumnNames.Add("colDATE");
    columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
    columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
    columnGroupsView.ColumnGroups[2].Rows[0].ColumnNames.Add("colTITLE");
    columnGroupsView.ColumnGroups[2].Rows[1].ColumnNames.Add("colTEXT");
   
    columnGroupsView.ColumnGroups[3].Rows.Add(new GridViewColumnGroupRow()); 

    columnGroupsView.ColumnGroups[3].Rows[0].ColumnNames.Add("colPINNED_RIGHT");

    this.radGridView1.ViewDefinition = columnGroupsView;

    this.radGridView1.Columns["colDATE"].Width = 110;
    this.radGridView1.Columns["colTITLE"].Width = this.radGridView1.Width - 181;

    this.radGridView1.TableElement.ViewElement.RowLayout.InvalidateRenderColumns();
    
    columnGroupsView.ColumnGroups[0].PinPosition = PinnedColumnPosition.Left;  
    columnGroupsView.ColumnGroups[3].PinPosition = PinnedColumnPosition.Right; 
    
}

Workaround: do not set the ShowHeader property to false. Use the ViewCellFormatting event to hide to necessary cell borders to simulate cells merging.
Completed
Last Updated: 14 Oct 2015 06:13 by ADMIN
To reproduce:

ColumnGroupsViewDefinition columnGroupsView;
 
columnGroupsView = new ColumnGroupsViewDefinition();
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());

columnGroupsView.ColumnGroups[0].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[0].Rows[0].ColumnNames.Add("colPINNED_LEFT");

columnGroupsView.ColumnGroups[1].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[1].Rows[0].ColumnNames.Add("colDATE");
columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[2].Rows[0].ColumnNames.Add("colTITLE");
columnGroupsView.ColumnGroups[2].Rows[1].ColumnNames.Add("colTEXT");

columnGroupsView.ColumnGroups[3].Rows.Add(new GridViewColumnGroupRow()); 

columnGroupsView.ColumnGroups[3].Rows[0].ColumnNames.Add("colPINNED_RIGHT");

this.radGridView1.ViewDefinition = columnGroupsView;

this.radGridView1.Columns["colDATE"].Width = 110;
this.radGridView1.Columns["colTITLE"].Width = this.radGridView1.Width - 181;

this.radGridView1.TableElement.ViewElement.RowLayout.InvalidateRenderColumns();

columnGroupsView.ColumnGroups[0].PinPosition = PinnedColumnPosition.Left;  
columnGroupsView.ColumnGroups[3].PinPosition = PinnedColumnPosition.Right;
Completed
Last Updated: 15 Oct 2015 12:06 by ADMIN
To reproduce:
- Add ColumnGroupsViewDefinition and subscribe to ColumnWidthChanged event.
- Start the application and resize a column.

Workaround:
public class MyColumnGroupRowLayout : ColumnGroupRowLayout
{
    public MyColumnGroupRowLayout(ColumnGroupsViewDefinition view) : base(view)
    {
    }

    public override void ResizeColumn(int delta)
    {
        base.ResizeColumn(delta);
        //This method will be called when a column is resized
    }
}

class MyColumnGroupsViewDefinition : ColumnGroupsViewDefinition
{
    public override IGridRowLayout CreateRowLayout()
    {
        return new MyColumnGroupRowLayout(this);
    }
}
Completed
Last Updated: 13 Oct 2015 10:05 by ADMIN
How to reproduce:
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.radGridView1.DataSource = this.GetData();
        this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill
    }
    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Id", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("Age", typeof(int));
        dt.Columns.Add("Date", typeof(DateTime));
        dt.Columns.Add("Bool", typeof(bool));
        for (int i = 0; i < 100; i++)
        {
            dt.Rows.Add(i, "Name " + i, i + 10, DateTime.Now.AddMinutes(i), i % 2 == 0 ? true : false);
        }

        return dt;
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        this.radGridView1.Columns[1].Expression = "Id * Age";
    }

    private void radButton2_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 radButton3_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: iterate the columns prior to loading the layout and remove the expressions
private void radButton3_Click(object sender, EventArgs e)
{
    foreach (GridViewDataColumn col in this.radGridView1.Columns)
    {
        col.Expression = "";
    }

    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);
}
Completed
Last Updated: 15 Oct 2015 11:57 by ADMIN
To reproduce:

for (int i = 0; i < 5; i++)
{
    this.radGridView1.Columns.Add("Col" + i);
}

ColumnGroupsViewDefinition columnGroupsView = new ColumnGroupsViewDefinition();
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());
columnGroupsView.ColumnGroups.Add(new GridViewColumnGroup());


columnGroupsView.ColumnGroups[0].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[0].Rows[0].ColumnNames.Add("Col3");


columnGroupsView.ColumnGroups[1].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[1].Rows[0].ColumnNames.Add("Col2");
columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[2].Rows.Add(new GridViewColumnGroupRow());
columnGroupsView.ColumnGroups[2].Rows[0].ColumnNames.Add("Col0");
columnGroupsView.ColumnGroups[2].Rows[1].ColumnNames.Add("Col1");

columnGroupsView.ColumnGroups[3].Rows.Add(new GridViewColumnGroupRow());  
columnGroupsView.ColumnGroups[3].Rows[0].ColumnNames.Add("Col4");

this.radGridView1.ViewDefinition = columnGroupsView;

this.radGridView1.Columns["Col2"].Width = 150;
this.radGridView1.Columns["Col0"].Width = 200;


Workaround: either set the columns width before setting the RadGridView.ViewDefinition or call the TableElement.ViewElement.RowLayout.InvalidateRenderColumn after specifying the width.
Completed
Last Updated: 26 Oct 2015 15:39 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: GridView
Type: Bug Report
0
To reproduce:

public Form1()
{
    InitializeComponent();
    DataTable dt = new DataTable();
    dt.Columns.Add("Col@", typeof(string));
    dt.Rows.Add("Unit");
    this.radGridView1.DataSource = dt;

    this.radGridView1.EnableFiltering = true;
    this.radGridView1.BestFitColumns();
}

Workaround: modify the Name of each column in order to remove the "@" symbol:

foreach (GridViewColumn c in this.radGridView1.Columns)
            {
                c.Name = c.Name.Replace("@", "");
            }
Completed
Last Updated: 14 Oct 2015 08:30 by ADMIN
Workaround: before printing set the AutoSizeRows = false, then you can set it again to true

private void radButton1_Click(object sender, EventArgs e)
        {
            if (!this.radGridView1.Columns["ImageColumn"].IsVisible)
            {
                int height = this.radGridView1.TableElement.ViewTemplate.Rows[0].Height;
                this.radGridView1.AutoSizeRows = false;
                this.radGridView1.TableElement.RowHeight = height;
            }

            this.radGridView1.PrintPreview();
            this.radGridView1.AutoSizeRows = true;           
        }
Completed
Last Updated: 13 Oct 2015 09:49 by ADMIN
To reproduce: 
1. Drag and drop RadGridView
2. Open Property Builder
3. Add a column and select it 
4. Open Settings tab and you will see that there are two ampersand symbols 
5. Add template or select Master Template and you will see that there are two ampersand symbols
Completed
Last Updated: 13 Oct 2015 09:30 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: GridView
Type: Bug Report
0
To reproduce:
- Set the grid properties as follows:
    radGridView1.MasterTemplate.AllowAddNewRow = false;
    radGridView1.MasterTemplate.AllowDeleteRow = false;
    radGridView1.MasterTemplate.AllowDragToGroup = false;
    radGridView1.MasterTemplate.AllowEditRow = false;
    radGridView1.MasterTemplate.EnableFiltering = true;
    radGridView1.MasterTemplate.EnableGrouping = false;
    radGridView1.MasterTemplate.MultiSelect = true;

- Start the application and drag the filter button without releasing the mouse button.

Workaround:
class MyGridFilterRowBehavior : GridFilterRowBehavior
{
    protected override bool ProcessMouseSelection(Point mousePosition, GridCellElement currentCell)
    {
        if (currentCell is GridFilterCellElement)
        {
            return false;
        }
        return base.ProcessMouseSelection(mousePosition, currentCell);
    }
}

BaseGridBehavior gridBehavior = radGridView1.GridBehavior as BaseGridBehavior;
gridBehavior.UnregisterBehavior(typeof(GridViewFilteringRowInfo));
gridBehavior.RegisterBehavior(typeof(GridViewFilteringRowInfo), new MyGridFilterRowBehavior());

Completed
Last Updated: 27 Oct 2015 07:26 by ADMIN
To reproduce:
- Crete a self-reference hiearchy and show the grid lines.
- Start the application expand some rows scroll to the bottom and then scroll to the right.
- The issue is easily reproducible with the example from the documentation.

Workaround:
class MyDataCellElement : GridDataCellElement
{
    public MyDataCellElement(GridViewColumn col, GridRowElement row) : base(col, row)
    {
    }

    protected override SizeF ArrangeOverride(SizeF finalSize)
    {
        SelfReferenceCellLayout selfReferenceLayout = this.SelfReferenceLayout;
        if (selfReferenceLayout != null)
        {
            GridDataRowElement dataRowElement = this.RowElement as GridDataRowElement;

            if (dataRowElement != null && this.ColumnInfo.OwnerTemplate != null)
            {
                dataRowElement.SelfReferenceLayout.StackLayoutElement.Visibility = ElementVisibility.Visible;
            }
        }
        else
        {
            GridDataRowElement dataRowElement = this.RowElement as GridDataRowElement;

            if (dataRowElement != null && this.ColumnInfo.OwnerTemplate != null)
            {
                dataRowElement.SelfReferenceLayout.StackLayoutElement.Visibility = ElementVisibility.Collapsed;
            }
        }
        return base.ArrangeOverride(finalSize);
    }
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(GridDataCellElement);
        }
    }
}
Completed
Last Updated: 12 Oct 2015 12:44 by ADMIN
How to reproduce:

Create a grid in self referencing hierarchy and set up a filter expression like this: 
 this.radGridView1.FilterDescriptors.Expression = "Name = \"bin\" AND (FileSystemInfoType = \"Folder\" OR Id = \"2\")"
Immediately after the expression is set, the OR logical operator is substituted with AND
Completed
Last Updated: 04 Feb 2016 10:39 by ADMIN
To reproduce:
- Show a message box in the CellValidating event handler.
- Start the application, edit a cell and directly press the vertical scroll bottom arrow.

 
Completed
Last Updated: 20 Oct 2015 13:41 by ADMIN
To reproduce:
1 - Add a grid view in a form.
2 - Add 14 - 17 records in grid view.
3 - Allow alternating color for grid view.
4 - Do sorting by clicking on header column (click 3 times).
5 - Alternating color display wrong position.

Workaround:
void radGridView1_SortChanged(object sender, GridViewCollectionChangedEventArgs e)
{
    foreach (GridRowElement row in this.radGridView1.TableElement.ViewElement.ScrollableRows.Children)
    {
        row.Synchronize();
    } 
}
Completed
Last Updated: 21 Oct 2015 11:15 by ADMIN
To reproduce:
public RadForm1()
{
    InitializeComponent();
    Controls.Add(new RadGridView
    {
        Dock = DockStyle.Fill,
        ShowHeaderCellButtons = true,
        ReadOnly = true,
        AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill,
        EnableFiltering = true,
        DataSource = Enumerable.Range(0, 24000) //Increase this number when you can't reproduce this issue
        .Select(x => new { Name = string.Format("Item {0}", x) }),
    });
}

Workaround:
class MyListFillter : RadListFilterPopup
{
    public MyListFillter(GridViewDataColumn column, bool groupDateValues) : base(column, groupDateValues)
    {
    }

    protected override void OnButtonOkClick(EventArgs e)
    {
        FilterOperator filterOperator = FilterOperator.IsEqualTo;
        var listFilterElement = typeof(RadListFilterPopup).GetField("listFilterElement", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(this) as FilterMenuTreeElement;

        switch (listFilterElement.SelectedMode)
        {
            case ListFilterSelectedMode.All:
                filterOperator = FilterOperator.None;
                break;
            case ListFilterSelectedMode.Null:
                filterOperator = FilterOperator.IsNull;
                break;
            case ListFilterSelectedMode.NotNull:
                filterOperator = FilterOperator.IsNotNull;
                break;
        }

        if (filterOperator != FilterOperator.IsEqualTo)
        {
            SetFilterOperator(filterOperator);
            this.ClosePopup(RadPopupCloseReason.CloseCalled);
        }
        else
        {
            CompositeFilterDescriptor compositeFilterDescriptor = new CompositeFilterDescriptor();
            compositeFilterDescriptor.PropertyName = base.DataColumn.Name;
            compositeFilterDescriptor.LogicalOperator = FilterLogicalOperator.Or;
           
            if (listFilterElement.SelectedValues.Count > this.GetDistinctValuesTable().Count / 2)
            {                    
                foreach (DictionaryEntry entry in this.GetDistinctValuesTable())
                {
                    if (!listFilterElement.SelectedValues.Contains(entry.Key))
                    {
                        foreach (object value in (ArrayList)entry.Value)
                        {
                            FilterDescriptor descriptor;
                            if (base.DataColumn is GridViewDateTimeColumn || base.DataColumn.DataType == typeof(DateTime) ||
                                base.DataColumn.DataType == typeof(DateTime?))
                            {
                                descriptor = new DateFilterDescriptor(base.DataColumn.Name, FilterOperator.IsNotEqualTo, (DateTime?)value, false);
                            }
                            else
                            {
                                descriptor = new FilterDescriptor(base.DataColumn.Name, FilterOperator.IsNotEqualTo, value);
                            }
                            compositeFilterDescriptor.FilterDescriptors.Add(descriptor);
                        }
                    }
                }
            }
            else
            {
                foreach (DictionaryEntry entry in listFilterElement.SelectedValues)
                {
                    foreach (object value in (ArrayList)entry.Value)
                    {
                        FilterDescriptor descriptor;
                        if (base.DataColumn is GridViewDateTimeColumn || base.DataColumn.DataType == typeof(DateTime) ||
                            base.DataColumn.DataType == typeof(DateTime?))
                        {
                            descriptor = new DateFilterDescriptor(base.DataColumn.Name, FilterOperator.IsEqualTo, (DateTime?)value, false);
                        }
                        else
                        {
                            descriptor = new FilterDescriptor(base.DataColumn.Name, FilterOperator.IsEqualTo, value);
                        }
                        compositeFilterDescriptor.FilterDescriptors.Add(descriptor);
                    }
                }
            }
            base.FilterDescriptor = compositeFilterDescriptor;
            OnFilterConfirmed();
        }
    }
}
Completed
Last Updated: 16 Nov 2015 13:41 by ADMIN
To reproduce:
- Add logo in the header and export the document.

Workaround:
void exporter_HeaderExported(object sender, ExportEventArgs e)
{
    PdfEditor ed = e.Editor as PdfEditor;
    using (MemoryStream ms = new MemoryStream())
    {
        System.Drawing.Image.FromFile(@"C:\img\delete.png").Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        ed.TranslatePosition(e.Rectangle.Width - 30, e.Rectangle.Y);
        ed.DrawImage(ms, new System.Windows.Size(30,30));
    }
}