In my case, the datagridviews were inside a Tab Control. I found that if I clicked on any of the headers to sort the column, the Scroll bar(s) would show up.
After doing a bunch of trial and error, I got this to work..
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
//Ran into a strange issue where the Scroll bars would not work on any of the data grids.
//After a bunch of trial and error, I discovered that once you clicked on a tab and sorted on
//a column, it would show up. So this is programically doing it.
TabPage myTabPage = ((System.Windows.Forms.TabControl)sender).SelectedTab;
DataGridView myDG = myTabPage.Controls[0] as DataGridView;
if (myDG != null && myDG.Rows.Count > 0)
{
//myDG.Sort(myDG.Columns[0], ListSortDirection.Ascending); //Basically this should not change the sort order.
myDG.PerformLayout(); //This seems to work as well, but only in this event, but at least it doesn't change the sort.
}
}