實現我有2個DataGrid中有相同數量的列的DataGridView需要隱藏滾動條,而滾動應該通過代碼
Datagrid1
是隻顯示標題, Datagrid2
的是它下面顯示的所有數據。實質上,2格表示需要同步以顯示爲1格。
我的問題是我需要隱藏datagrid1
的水平滾動條,但只顯示datagrid2
的水平滾動條。 當用戶滾動datagrid2
時,我需要以編程方式同步datagrid1
上的標題。
任何人都可以建議嗎?
實現我有2個DataGrid中有相同數量的列的DataGridView需要隱藏滾動條,而滾動應該通過代碼
Datagrid1
是隻顯示標題, Datagrid2
的是它下面顯示的所有數據。實質上,2格表示需要同步以顯示爲1格。
我的問題是我需要隱藏datagrid1
的水平滾動條,但只顯示datagrid2
的水平滾動條。 當用戶滾動datagrid2
時,我需要以編程方式同步datagrid1
上的標題。
任何人都可以建議嗎?
您可以設置DataGridViews的ScrollBasr屬性以隱藏垂直滾動條
例如,在鏈接 http://msdn.microsoft.com/en-us/library/system.windows.forms.scrollbars
您可以設置VerticalScrollingOffset值來定位你想要的索引處的滾動條
dataGridViews1.ScrollBars = ScrollBars.None;
或看其他枚舉值。處理第二個DGV中的滾動事件,併爲第一個DGv設置此VerticalScrollingOffset。這應該有所幫助。
我有同樣的概念,像你..我已經解決了它,如下所示:它可以幫助你。
private void dgvHeader_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
{
//When Header Grid Width Changes automatically Below Grid's COLUMN width will be changes
dgvData.Columns[e.Column.Index].Width = e.Column.Width;
}
試試這個..
dataGridViews1.ScrollBars = ScrollBars.None;
private void dataGridViews2_Scroll(object sender, ScrollEventArgs e)
{
int offSetValue = dataGridViews1.HorizontalScrollingOffset;
try
{
dataGridViews1.HorizontalScrollingOffset = offSetValue;
}
catch { }
dataGridViews1.Invalidate();
}
感謝Hatsoft,我明白瞭如何隱藏滾動條......如何同步它當用戶滾動第二格? – Kamath 2012-07-17 21:32:11
@Kamath你的意思是,如果用戶移動第二個網格的滾動條,甚至第一個網格滾動條必須移動? – HatSoft 2012-07-17 21:33:47
是的,這是正確的Hatsoft .. – Kamath 2012-07-17 21:52:39