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#

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;
}
}
}
}