You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#if NETFX || NETCORE
using System; using System.Drawing; using System.Windows.Forms; using System.ComponentModel;
namespace Apewer.Surface {
/// <summary></summary>
public class BlockTable : DataGridView {
/// <summary></summary>
public BlockTable() { SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.DoubleBuffer, true); UpdateStyles();
this.Font = FormsUtility.DefaultFont; this.ColumnHeadersHeight = 32; this.RowHeadersVisible = false; this.SelectionMode = DataGridViewSelectionMode.FullRowSelect; this.MultiSelect = false; this.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
this.BackgroundColor = FormsUtility.White; this.GridColor = FormsUtility.GraceBorder; this.BorderStyle = BorderStyle.None; this.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal;
this.EnableHeadersVisualStyles = false; this.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None; this.AdvancedColumnHeadersBorderStyle.Left = DataGridViewAdvancedCellBorderStyle.None; this.AdvancedColumnHeadersBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.None; this.AdvancedColumnHeadersBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None; this.AdvancedColumnHeadersBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.Single; this.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single; this.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
this.ReadOnly = true; this.AllowUserToAddRows = false; this.AllowUserToDeleteRows = false; this.AllowUserToOrderColumns = false; this.AllowUserToResizeColumns = true; this.AllowUserToResizeRows = false;
this.RowsDefaultCellStyle.BackColor = Color.White; // this.RowsDefaultCellStyle.DataSourceNullValue ;
this.RowsDefaultCellStyle.SelectionBackColor = FormsUtility.GraceWall; this.RowsDefaultCellStyle.SelectionForeColor = FormsUtility.Black; this.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.False; }
/// <summary></summary>
public void DisableSort() { for (int i = 0; i < this.Columns.Count; i++) { this.Columns[i].SortMode = DataGridViewColumnSortMode.Programmatic; } }
/// <summary></summary>
public void EnableSort() { for (int i = 0; i < this.Columns.Count; i++) { this.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic; } }
/// <summary></summary>
public void Beautify() { this.ColumnHeadersHeight = 30; for (int i = 0; i < this.Columns.Count; i++) { this.Columns[i].HeaderCell.Style.BackColor = FormsUtility.GraceBorder; //this.Columns[i].HeaderCell.Style.WrapMode = DataGridViewTriState.False;
} for (int i = 0; i < this.Rows.Count; i++) { this.Rows[i].Height = 30; } }
/// <summary></summary>
public void Beautify(int rowIndex) { this.ColumnHeadersHeight = 30; if (rowIndex >= 0) { if (rowIndex < this.Rows.Count) { this.Rows[rowIndex].Height = 30; } } }
/// <summary>设置指定单元格的文本颜色。</summary>
/// <param name="row">行。</param>
/// <param name="column">列。</param>
/// <param name="color">文本颜色。</param>
public void SetCellColor(int row, string column, Color color) { try { Rows[row].Cells[column].Style.ForeColor = color; Rows[row].Cells[column].Style.SelectionForeColor = color; } catch { } }
/// <summary>设置指定单元格的文本颜色为红色。</summary>
public void SetCellRed(int row, string column) => SetCellColor(row, column, FormsUtility.Red);
/// <summary>设置指定单元格的文本颜色为绿色。</summary>
public void SetCellGreen(int row, string column) => SetCellColor(row, column, FormsUtility.Green);
/// <summary>设置指定单元格的文本颜色为蓝色。</summary>
public void SetCellBlue(int row, string column) => SetCellColor(row, column, FormsUtility.Blue);
/// <summary>设置指定单元格的文本颜色为黑色。</summary>
public void SetCellBlack(int row, string column) => SetCellColor(row, column, Color.Black);
} }
#endif
|