* UIDataGridView:修正有列隐藏时水平滚动条重绘出错。
This commit is contained in:
parent
d63d8e6ce9
commit
3c742b2b67
BIN
Bin/SunnyUI.dll
BIN
Bin/SunnyUI.dll
Binary file not shown.
BIN
Bin/SunnyUI.pdb
BIN
Bin/SunnyUI.pdb
Binary file not shown.
Binary file not shown.
Binary file not shown.
3
SunnyUI.Demo/Controls/FDataGridView.Designer.cs
generated
3
SunnyUI.Demo/Controls/FDataGridView.Designer.cs
generated
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user