Completed
Last Updated: 30 Oct 2017 10:18 by ADMIN
The new functionality should provide a way to apply an offset to the position of the key tip as well as customize their back and fore colors as well as the font
Completed
Last Updated: 23 Oct 2017 07:46 by Todor
Completed
Last Updated: 12 Oct 2017 06:36 by ADMIN
ADMIN
Created by: Nikolay
Comments: 7
Category: PdfViewer
Type: Feature Request
20
It will be a great addition of RadPdfViewer if it supports forms/controls.
Completed
Last Updated: 10 Oct 2017 13:37 by ADMIN
Completed
Last Updated: 27 Sep 2017 09:51 by ADMIN
Completed
Last Updated: 31 Aug 2017 12:15 by ADMIN
Currently we do not support binding to the ToggleState.Indeterminate state automatically because it would require a change in the behavior of the Checked property. If you use the CheckedMember, the ToggleState.Indeterminate state is represent like ToggleState.On. 

Workaround: 
Subscribe to the NodeFormatting and NodeCheckedChanged events: 
void radTreeView1_NodeFormatting(object sender, Telerik.WinControls.UI.TreeNodeFormattingEventArgs e)
{
    Child child = e.Node.DataBoundItem as Child;
    if (child != null)
    {
        e.Node.CheckState = child.Status;
    }
}

void radTreeView1_NodeCheckedChanged(object sender, Telerik.WinControls.UI.TreeNodeCheckedEventArgs e)
{
    Child child = e.Node.DataBoundItem as Child;
    if (child != null)
    {
        child.Status = e.Node.CheckState;
    }
}
Completed
Last Updated: 16 Aug 2017 08:14 by ADMIN
ADMIN
Created by: Boryana
Comments: 1
Category: PageView
Type: Feature Request
4
Show the focus cue of the selected tab in a StripView RadPageView.
Completed
Last Updated: 16 Aug 2017 08:14 by ADMIN
ADMIN
Created by: Alexander
Comments: 0
Category: PageView
Type: Feature Request
6
Add functionality to the control for selecting pages using access keys.
Completed
Last Updated: 15 Aug 2017 11:03 by Chris
Created by: Matt
Comments: 2
Category: GridView
Type: Feature Request
2
We'd like to see the ability to enable a search/filter function for column chooser.  One of our applications that uses the RadGridView has dozens of columns, most hidden by default.  Our users would like the ability to type in part of a column name and have the column chooser filter on it.
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
The CustomSorting event should manipulate the pinned rows as well. Thus, the user will be allowed to control the sort order of the pinned rows within the pinned container.
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 1
Category: PropertyGrid
Type: Feature Request
1
RadSpinEditor now supports null values. This functionality is relevant for the PropertyGridSpinEditor as well  http://docs.telerik.com/devtools/winforms/editors/spineditor/null-value-support
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
The events should provide information as to when a page is about to be rendered and when it is displayed in the control.
Completed
Last Updated: 15 Aug 2017 10:29 by ADMIN
ADMIN
Created by: Hristo
Comments: 1
Category: Map
Type: Feature Request
1

			
Completed
Last Updated: 15 Aug 2017 10:28 by ADMIN
Completed
Last Updated: 15 Aug 2017 10:20 by ADMIN
To reproduce: run the attached sample project. You will notice the result illustrated in the provided screenshot. Although the grid is RTL, the print preview dialog show it in LTR.

Workaround:

public class CustomGridPrintStyle : GridPrintStyle
{
    protected override BaseGridPrintRenderer InitializePrintRenderer(RadGridView grid)
    {
        if (this.PrintRenderer != null)
        {
            this.PrintRenderer.PrintCellPaint -= renderer_PrintCellPaint;
            this.PrintRenderer.PrintCellFormatting -= renderer_PrintCellFormatting;
            this.PrintRenderer.ChildViewPrinting -= renderer_ChildViewPrinting;
        }

        BaseGridPrintRenderer renderer = null;

        if (grid.ViewDefinition.GetType() == typeof(ColumnGroupsViewDefinition))
        {
            if (!(renderer is ColumnGroupsViewDefinitionPrintRenderer))
            {
                renderer = new CustomColumnGroupsViewDefinitionPrintRenderer(grid);
            }
        }
        else if (grid.ViewDefinition.GetType() == typeof(HtmlViewDefinition))
        {
            if (!(renderer is HtmlViewDefinitionPrintRenderer))
            {
                renderer = new HtmlViewDefinitionPrintRenderer(grid);
            }
        }
        else
        {
            if (!(renderer is TableViewDefinitionPrintRenderer))
            {
                renderer = new TableViewDefinitionPrintRenderer(grid);
            }
        }

        renderer.ChildViewPrinting += renderer_ChildViewPrinting;
        renderer.PrintCellFormatting += renderer_PrintCellFormatting;
        renderer.PrintCellPaint += renderer_PrintCellPaint;

        return renderer; 
    }

    private void renderer_PrintCellPaint(object sender, PrintCellPaintEventArgs e)
    {
        this.OnPrintCellPaint(sender, e);
    }

    private void renderer_PrintCellFormatting(object sender, PrintCellFormattingEventArgs e)
    {
        this.OnPrintCellFormatting(sender, e);
    }

    private void renderer_ChildViewPrinting(object sender, ChildViewPrintingEventArgs e)
    {
        this.OnChildViewPrinting(sender, e);
    }
}

public class CustomColumnGroupsViewDefinitionPrintRenderer : ColumnGroupsViewDefinitionPrintRenderer
{
    public CustomColumnGroupsViewDefinitionPrintRenderer(RadGridView grid) : base(grid)
    {
    }

    protected override void PrintRow(GridViewRowInfo row, ColumnGroupRowLayout rowLayout, GridPrintSettings settings, int currentX, int currentY, Graphics graphics)
    { 
        float scrollableColumnsOffset = 0f;
        float rightPinnedColumnsOffset = 0f;

        foreach (GridViewColumn col in rowLayout.RenderColumns)
        {
            if (col is GridViewRowHeaderColumn || col is GridViewIndentColumn)
            {
                continue;
            }

            float height = rowLayout.GetRowHeight(row);
            RectangleF cellBounds = rowLayout.GetCorrectedColumnBounds(row, col, this.GridView.RightToLeft == RightToLeft.Yes,
                new RectangleF(0f, 0f, rowLayout.DesiredSize.Width, height));

            if (cellBounds == RectangleF.Empty)
            {
                continue;
            }

            if (col.PinPosition == PinnedColumnPosition.Left)
            {
                if (scrollableColumnsOffset < cellBounds.Right + rowLayout.Owner.CellSpacing)
                {
                    scrollableColumnsOffset = cellBounds.Right + rowLayout.Owner.CellSpacing;
                    rightPinnedColumnsOffset = scrollableColumnsOffset;
                }
            }
            else if (col.PinPosition == PinnedColumnPosition.None)
            {
                if (rightPinnedColumnsOffset < scrollableColumnsOffset + cellBounds.Right + rowLayout.Owner.CellSpacing)
                {
                    rightPinnedColumnsOffset = scrollableColumnsOffset + cellBounds.Right + rowLayout.Owner.CellSpacing;
                }

                cellBounds.X += scrollableColumnsOffset;
            }
            else
            {
                cellBounds.X += rightPinnedColumnsOffset;
            }

            cellBounds.Offset(currentX, currentY);

            GridViewCellInfo cell;
            CellPrintElement printCell;

            if (row is GridViewTableHeaderRowInfo)
            {
                cell = this.GridView.MasterView.TableHeaderRow.Cells[col.Name];

                printCell = this.CreateHeaderCellPrintElement(col);
                if (printCell.Font != settings.HeaderCellFont)
                {
                    if (settings.HeaderCellFont != null)
                    {
                        printCell.Font = settings.HeaderCellFont;
                    }
                    else
                    {
                        settings.HeaderCellFont = printCell.Font;
                    }
                }
            }
            else if (row is GridViewSummaryRowInfo)
            {
                GridViewSummaryRowInfo rowInfo = row as GridViewSummaryRowInfo;
                cell = rowInfo.Cells[col.Name];

                if (cell == null)
                {
                    continue;
                }

                printCell = this.CreateSummaryCellPrintElement(cell);
                if (printCell.Font != settings.SummaryCellFont)
                {
                    if (settings.SummaryCellFont != null)
                    {
                        printCell.Font = settings.SummaryCellFont;
                    }
                    else
                    {
                        settings.SummaryCellFont = printCell.Font;
                    }
                }
            }
            else
            {
                cell = row.Cells[col.Name];

                if (cell == null)
                {
                    continue;
                }

                if (col is GridViewImageColumn)
                {
                    printCell = this.CreateImageCellPrintElement(cell);
                }
                else
                {
                    printCell = this.CreateDataCellPrintElement(cell);
                    if (printCell.Font != settings.CellFont)
                    {
                        if (settings.CellFont != null)
                        {
                            printCell.Font = settings.CellFont;
                        }
                        else
                        {
                            settings.CellFont = printCell.Font;
                        }
                    }
                }
            }

            printCell.TextPadding = this.GridView.PrintStyle.CellPadding;
            printCell.RightToLeft = this.GridView.RightToLeft == RightToLeft.Yes;

            Rectangle rect = new Rectangle((int)cellBounds.X, (int)cellBounds.Y, (int)cellBounds.Width, (int)cellBounds.Height);

            PrintCellFormattingEventArgs formattEventArgs = new PrintCellFormattingEventArgs(row, col, printCell);
            this.OnPrintCellFormatting(formattEventArgs);

            formattEventArgs.PrintCell.Paint(graphics, rect);
           
            PrintCellPaintEventArgs paintEventArgs = new PrintCellPaintEventArgs(graphics, row, col, rect);
            this.OnPrintCellPaint(paintEventArgs);               
        }
    }
}

private void radButton1_Click(object sender, EventArgs e)
{ 
    CustomGridPrintStyle style = new CustomGridPrintStyle();
    
    this.radGridView1.PrintStyle = style;
    RadPrintDocument printDoc = new RadPrintDocument();
    printDoc.Landscape = true;
    printDoc.RightHeader = "Right Header";
    printDoc.HeaderHeight = 100;
    printDoc.AssociatedObject = this.radGridView1;
    
    RadPrintPreviewDialog dialog = new RadPrintPreviewDialog(printDoc);
    
    dialog.Size = new System.Drawing.Size(Screen.PrimaryScreen.Bounds.Width - 200, Screen.PrimaryScreen.Bounds.Height - 200);
    dialog.SetZoom(0.80);
    dialog.ShowDialog();
}
Completed
Last Updated: 15 Aug 2017 10:20 by ADMIN
There should be a way for users to determine if a row passes a certain filter criteria without that affecting any data operations.