You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
4.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using System.Drawing;
namespace CompressorXN_HelperLib
{
/***
* 主题GridControl帮助类
* 功能:
* 1、设置表格标题背景颜色
* 2、设置选中行颜色
* 3、设置奇偶行背景颜色
* 4、设置表格指定行列的背景色
*/
public class GridControlHelper
{
/// <summary>
/// 设置表格标题背景颜色
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="columnIndex">表格列索引</param>
/// <param name="color">颜色</param>
public static void SetGridViewHeaderBackColor(GridView gridView, int columnIndex, Color color)
{
if (gridView != null && gridView.Columns.Count > 0 && columnIndex >= 0)
{
gridView.Columns[columnIndex].AppearanceHeader.BackColor = color;
}
}
/// <summary>
/// 设置表格标题背景颜色
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="color">颜色</param>
public static void SetGridViewHeaderBackColor(GridView gridView, string columnName, Color color)
{
if (gridView != null && gridView.Columns.Count > 0 && !string.IsNullOrEmpty(columnName))
{
gridView.Columns[columnName].AppearanceHeader.BackColor = color;
}
}
/// <summary>
/// 设置选中行颜色
/// </summary>
/// <param name="gridView"></param>
/// <param name="selectedRowColor"></param>
/// <param name="focusedColor"></param>
public static void SetSelectedRowColor(GridView gridView, Color selectedRowColor, Color focusedColor)
{
gridView.Appearance.SelectedRow.BackColor = selectedRowColor;
gridView.Appearance.FocusedRow.BackColor = focusedColor;
}
/// <summary>
/// 设置奇偶行背景颜色,统一风格
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="oddColor">奇数行颜色</param>
/// <param name="evenColor">偶数行颜色</param>
public static void SetOddEvenRowColor(GridView gridView, Color oddColor, Color evenColor)
{
gridView.Appearance.OddRow.BackColor = oddColor;
gridView.Appearance.EvenRow.BackColor = evenColor;
gridView.OptionsView.EnableAppearanceOddRow = true;
gridView.OptionsView.EnableAppearanceEvenRow = true;
}
/// <summary>
/// 设置表格指定行列的背景色
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="columnIndex">列索引</param>
/// <param name="backColor">列的背景颜色1</param>
/// <param name="backColor2">列的背景颜色2</param>
/// <param name="foreColor">聚焦时颜色</param>
public static void SetGridColumnBackColor(GridView gridView, int columnIndex, Color backColor, Color backColor2, Color foreColor)
{
if (gridView != null && columnIndex >= 0)
{
GridColumn gridColumn = gridView.Columns[columnIndex];
gridColumn.AppearanceCell.BackColor = backColor;
gridColumn.AppearanceCell.BackColor2 = backColor2;
gridColumn.AppearanceCell.ForeColor = foreColor;
}
}
/// <summary>
/// 设置表格指定行列的背景色
/// </summary>
/// <param name="gridView">gridView组件</param>
/// <param name="columnFieldName">列字段名称</param>
/// <param name="backColor">列的背景颜色1</param>
/// <param name="backColor2">列的背景颜色2</param>
/// <param name="foreColor">聚焦时颜色</param>
public static void SetGridColumnBackColor(GridView gridView, string columnFieldName, Color backColor, Color backColor2, Color foreColor)
{
if (gridView != null && !string.IsNullOrEmpty(columnFieldName))
{
GridColumn gridColumn = gridView.Columns[columnFieldName];
gridColumn.AppearanceCell.BackColor = backColor;
gridColumn.AppearanceCell.BackColor2 = backColor2;
gridColumn.AppearanceCell.ForeColor = foreColor;
}
}
}
}