Please refer to the attached screenshot.
Workaround:
public Form1()
{
InitializeComponent();
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
for (int i = 0; i < 5; i++)
{
dt.Rows.Add(i, "Item" + i);
}
this.radGridView1.DataSource = dt;
this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.AllowSearchRow = true;
this.radGridView1.SearchRowPosition = Telerik.WinControls.UI.SystemRowPosition.Bottom;
this.radGridView1.ViewDefinition = new CustomTableViewDefition();
}
public class CustomTableViewDefition : TableViewDefinition
{
public override IRowView CreateViewUIElement(GridViewInfo viewInfo)
{
return new CustomTableElement();
}
}
public class CustomTableElement : GridTableElement
{
protected override RowsContainerElement CreateViewElement()
{
return new CustomRowsContainerElement();
}
}
public class CustomRowsContainerElement : RowsContainerElement
{
protected override SizeF ArrangeOverride(SizeF finalSize)
{
float y = 0;
this.TopPinnedRows.Arrange(new RectangleF(0, y, finalSize.Width, this.TopPinnedRows.DesiredSize.Height));
y += this.TopPinnedRows.DesiredSize.Height + ElementSpacing;
this.ScrollableRows.Arrange(new RectangleF(0, y, finalSize.Width, this.ScrollableRows.DesiredSize.Height));
y += this.ScrollableRows.DesiredSize.Height + ElementSpacing;
this.BottomPinnedRows.Arrange(new RectangleF(0, finalSize.Height - this.BottomPinnedRows.DesiredSize.Height,
finalSize.Width, this.BottomPinnedRows.DesiredSize.Height));
return finalSize;
}
}