How to reproduce:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.radGridView1.DataSource = this.GetData();
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
this.radGridView1.SynchronizeCurrentRowInSplitMode = true;
this.radGridView1.SplitMode = Telerik.WinControls.UI.RadGridViewSplitMode.Vertical;
}
private DataTable GetData()
{
DataTable dt = new DataTable();
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("Name " + i, i, DateTime.Now.AddMinutes(i), i % 2 == 0 ? true : false);
}
return dt;
}
}
Workaround:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.radGridView1.DataSource = this.GetData();
this.radGridView1.ViewDefinition = new SplitViewDefintion();
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
this.radGridView1.SynchronizeCurrentRowInSplitMode = true;
this.radGridView1.SplitMode = Telerik.WinControls.UI.RadGridViewSplitMode.Vertical;
}
private DataTable GetData()
{
DataTable dt = new DataTable();
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("Name " + i, i, DateTime.Now.AddMinutes(i), i % 2 == 0 ? true : false);
}
return dt;
}
}
public class SplitViewDefintion : TableViewDefinition
{
public override IRowView CreateViewUIElement(GridViewInfo viewInfo)
{
return new MyGridTableElement();
}
}
public class MyGridTableElement : GridTableElement
{
protected override RadScrollBarElement CreateScrollBarElement()
{
return new MyRadScrollbarElement();
}
}
public class MyRadScrollbarElement : RadScrollBarElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadScrollBarElement);
}
}
protected override void OnMouseDown(MouseEventArgs e)
{
if (Cursor.Current == Cursors.SizeWE || Cursor.Current == Cursors.SizeNS)
{
return;
}
base.OnMouseDown(e);
}
}