diff --git a/Bin/SunnyUI.dll b/Bin/SunnyUI.dll index f5b65394..e747d23c 100644 Binary files a/Bin/SunnyUI.dll and b/Bin/SunnyUI.dll differ diff --git a/Bin/SunnyUI.pdb b/Bin/SunnyUI.pdb index e0a3eb8b..61cfa0e5 100644 Binary files a/Bin/SunnyUI.pdb and b/Bin/SunnyUI.pdb differ diff --git a/SunnyUI.Demo/Bin/SunnyUI.Demo.exe b/SunnyUI.Demo/Bin/SunnyUI.Demo.exe index ade88288..0936a5fe 100644 Binary files a/SunnyUI.Demo/Bin/SunnyUI.Demo.exe and b/SunnyUI.Demo/Bin/SunnyUI.Demo.exe differ diff --git a/SunnyUI.Demo/Bin/SunnyUI.dll b/SunnyUI.Demo/Bin/SunnyUI.dll index f5b65394..e747d23c 100644 Binary files a/SunnyUI.Demo/Bin/SunnyUI.dll and b/SunnyUI.Demo/Bin/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Controls/FDataGridView.Designer.cs b/SunnyUI.Demo/Controls/FDataGridView.Designer.cs index fe18112d..465b1d62 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.Designer.cs +++ b/SunnyUI.Demo/Controls/FDataGridView.Designer.cs @@ -60,7 +60,8 @@ dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; this.uiDataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.uiDataGridView1.ColumnHeadersHeight = 32; + this.uiDataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 12F); diff --git a/SunnyUI.Demo/Controls/FDataGridView.cs b/SunnyUI.Demo/Controls/FDataGridView.cs index 9c709d37..60943e97 100644 --- a/SunnyUI.Demo/Controls/FDataGridView.cs +++ b/SunnyUI.Demo/Controls/FDataGridView.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Windows.Forms; namespace Sunny.UI.Demo { @@ -9,7 +8,7 @@ namespace Sunny.UI.Demo { InitializeComponent(); - uiDataGridView1.AddColumn("Column1", "Column1").SetFixedMode(400); + uiDataGridView1.AddColumn("Column1", "Column1").SetFixedMode(400); uiDataGridView1.AddColumn("Column2", "Column2").SetFixedMode(400); uiDataGridView1.AddColumn("Column3", "Column3").SetFixedMode(400); uiDataGridView1.AddColumn("Column4", "Column4").SetFixedMode(400); diff --git a/SunnyUI/Controls/UIDataGridView.cs b/SunnyUI/Controls/UIDataGridView.cs index c3437f0b..cca8c9f4 100644 --- a/SunnyUI/Controls/UIDataGridView.cs +++ b/SunnyUI/Controls/UIDataGridView.cs @@ -89,7 +89,20 @@ namespace Sunny.UI private void HBar_ValueChanged(object sender, EventArgs e) { - FirstDisplayedScrollingColumnIndex = HBar.Value; + int idx = 0; + for (int i = 0; i < ColumnCount; i++) + { + if (Columns[i].Visible && idx == HBar.Value) + { + FirstDisplayedScrollingColumnIndex = i; + break; + } + + if (Columns[i].Visible) + { + idx++; + } + } } public void Init() @@ -168,7 +181,7 @@ namespace Sunny.UI if (HorizontalScrollBar.Visible) { - HBar.Maximum = ColumnCount - 1; + HBar.Maximum = VisibleColumnCount() - 1; HBar.Value = FirstDisplayedScrollingColumnIndex; HBar.Visible = true; } @@ -180,6 +193,17 @@ namespace Sunny.UI SetBarPosition(); } + private int VisibleColumnCount() + { + int cnt = 0; + foreach (DataGridViewColumn column in Columns) + { + if (column.Visible) cnt++; + } + + return cnt; + } + protected override void OnMouseWheel(MouseEventArgs e) { base.OnMouseWheel(e);