* UIDataGridViewFooter:增加边框

This commit is contained in:
Sunny 2021-04-21 13:25:04 +08:00
parent cbcf0b8dd1
commit 76e40904ce
7 changed files with 26 additions and 12 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -56,7 +56,6 @@
this.uiDataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.uiDataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White; this.uiDataGridView1.BackgroundColor = System.Drawing.Color.White;
this.uiDataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; this.uiDataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.uiDataGridView1.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None;
this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; this.uiDataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255))))); dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
@ -97,8 +96,9 @@
this.uiDataGridView1.RowTemplate.Height = 29; this.uiDataGridView1.RowTemplate.Height = 29;
this.uiDataGridView1.SelectedIndex = -1; this.uiDataGridView1.SelectedIndex = -1;
this.uiDataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.uiDataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.uiDataGridView1.ShowGridLine = true;
this.uiDataGridView1.ShowRect = false; this.uiDataGridView1.ShowRect = false;
this.uiDataGridView1.Size = new System.Drawing.Size(861, 345); this.uiDataGridView1.Size = new System.Drawing.Size(861, 351);
this.uiDataGridView1.TabIndex = 0; this.uiDataGridView1.TabIndex = 0;
// //
// uiPagination1 // uiPagination1
@ -114,7 +114,7 @@
this.uiPagination1.PagerCount = 11; this.uiPagination1.PagerCount = 11;
this.uiPagination1.PageSize = 50; this.uiPagination1.PageSize = 50;
this.uiPagination1.RadiusSides = Sunny.UI.UICornerRadiusSides.None; this.uiPagination1.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.uiPagination1.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Top; this.uiPagination1.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.None;
this.uiPagination1.Size = new System.Drawing.Size(861, 35); this.uiPagination1.Size = new System.Drawing.Size(861, 35);
this.uiPagination1.TabIndex = 1; this.uiPagination1.TabIndex = 1;
this.uiPagination1.Text = "uiDataGridPage1"; this.uiPagination1.Text = "uiDataGridPage1";
@ -128,12 +128,12 @@
this.uiDataGridViewFooter1.Dock = System.Windows.Forms.DockStyle.Bottom; this.uiDataGridViewFooter1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.uiDataGridViewFooter1.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255))))); this.uiDataGridViewFooter1.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(243)))), ((int)(((byte)(255)))));
this.uiDataGridViewFooter1.Font = new System.Drawing.Font("微软雅黑", 12F); this.uiDataGridViewFooter1.Font = new System.Drawing.Font("微软雅黑", 12F);
this.uiDataGridViewFooter1.Location = new System.Drawing.Point(0, 345); this.uiDataGridViewFooter1.Location = new System.Drawing.Point(0, 351);
this.uiDataGridViewFooter1.MinimumSize = new System.Drawing.Size(1, 1); this.uiDataGridViewFooter1.MinimumSize = new System.Drawing.Size(1, 1);
this.uiDataGridViewFooter1.Name = "uiDataGridViewFooter1"; this.uiDataGridViewFooter1.Name = "uiDataGridViewFooter1";
this.uiDataGridViewFooter1.RadiusSides = Sunny.UI.UICornerRadiusSides.None; this.uiDataGridViewFooter1.RadiusSides = Sunny.UI.UICornerRadiusSides.None;
this.uiDataGridViewFooter1.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.None; this.uiDataGridViewFooter1.RectSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.None;
this.uiDataGridViewFooter1.Size = new System.Drawing.Size(861, 35); this.uiDataGridViewFooter1.Size = new System.Drawing.Size(861, 29);
this.uiDataGridViewFooter1.TabIndex = 2; this.uiDataGridViewFooter1.TabIndex = 2;
this.uiDataGridViewFooter1.Text = "uiDataGridViewFooter1"; this.uiDataGridViewFooter1.Text = "uiDataGridViewFooter1";
// //

View File

@ -8,10 +8,10 @@ namespace Sunny.UI.Demo
{ {
InitializeComponent(); InitializeComponent();
uiDataGridView1.AddColumn("Column1", "Column1").SetFixedMode(400); uiDataGridView1.AddColumn("Column1", "Column1").SetFixedMode(100);
uiDataGridView1.AddColumn("Column2", "Column2").SetFixedMode(400); uiDataGridView1.AddColumn("Column2", "Column2").SetFixedMode(100);
uiDataGridView1.AddColumn("Column3", "Column3").SetFixedMode(400); uiDataGridView1.AddColumn("Column3", "Column3").SetFixedMode(100);
uiDataGridView1.AddColumn("Column4", "Column4").SetFixedMode(400); uiDataGridView1.AddColumn("Column4", "Column4").SetFixedMode(100);
uiDataGridView1.ReadOnly = true; uiDataGridView1.ReadOnly = true;
} }

View File

@ -34,7 +34,7 @@ namespace Sunny.UI
public UIDataGridViewFooter() public UIDataGridViewFooter()
{ {
SetStyleFlags(true, false, true); SetStyleFlags(true, false, true);
Height = 35; Height = 29;
RadiusSides = UICornerRadiusSides.None; RadiusSides = UICornerRadiusSides.None;
RectSides = ToolStripStatusLabelBorderSides.None; RectSides = ToolStripStatusLabelBorderSides.None;
} }
@ -88,12 +88,26 @@ namespace Sunny.UI
protected override void OnPaintFore(Graphics g, GraphicsPath path) protected override void OnPaintFore(Graphics g, GraphicsPath path)
{ {
if (dgv.ColumnCount > 0 && dgv.RowCount > 0) if (dgv != null && dgv.ColumnCount > 0 && dgv.RowCount > 0)
{ {
if (dgv.ShowGridLine)
{
g.DrawLine(dgv.GridColor, 0, 0, 0, Height);
}
foreach (DataGridViewColumn column in dgv.Columns) foreach (DataGridViewColumn column in dgv.Columns)
{ {
Rectangle rect = dgv.GetCellDisplayRectangle(column.Index, 0, false); Rectangle rect = dgv.GetCellDisplayRectangle(column.Index, 0, false);
if (rect.Left == 0 && rect.Width == 0) continue; int minleft = dgv.ShowGridLine ? 1 : 0;
if (rect.Left == minleft && rect.Width == 0) continue;
if (rect.Left >= minleft && dgv.ShowGridLine)
{
g.DrawLine(dgv.GridColor, rect.Left - minleft, 0, rect.Left - minleft, Height);
g.DrawLine(dgv.GridColor, rect.Right - minleft, 0, rect.Right - minleft, Height);
g.DrawLine(dgv.GridColor, rect.Left - minleft, 0, rect.Right - minleft, 0);
g.DrawLine(dgv.GridColor, rect.Left - minleft, Height - 1, rect.Right - minleft, Height - 1);
}
string str = this[column.Name]; string str = this[column.Name];
if (str.IsNullOrEmpty()) continue; if (str.IsNullOrEmpty()) continue;