在DevExpress GridView上更改行颜色

5ta*_*ter 3 c# gridview devexpress winforms

我想在devexpress gridview中将行的颜色更改为绿色.在搜索时,我发现了许多如何做到这一点的例子......在网站上这是一个Windows应用程序.我在Windows应用程序上找不到任何东西,所以有人可以帮我一点.

我只是想将单行的颜色更改为绿色.

忘了提一下,它是一个C#应用程序.

谢谢您的帮助.

Gia*_*los 6

要在运行时更改行颜色,请处理RowStyle事件:

    public Color color1;
    public Color color2;
    public int rowhandle;

    private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
    {
        try
        {
            if (e.RowHandle == rowhandle)
            {
                if (color1 != null && color2 != null)
                {
                    e.Appearance.BackColor = color1;
                    e.Appearance.BackColor2 = color2;
                }
            }
        }
        catch
        {
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        color1 = Color.BurlyWood;
        color2 = Color.DarkOrchid;
        rowhandle = gridView1.FocusedRowHandle;
        gridView1.RefreshRow(rowhandle);
    }
Run Code Online (Sandbox Code Playgroud)

下面的代码将保持颜色:

public partial class Form1 : Form
{

    public Color color1;
    public Color color2;
    public int rowhandle;
    public List<int> rowhandles;

    private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
    {
        try
        {
            if (rowhandles.Any(x=>x==e.RowHandle))
            {
                if (color1 != null && color2 != null)
                {
                    e.Appearance.BackColor = color1;
                    e.Appearance.BackColor2 = color2;
                }
            }
        }
        catch
        {
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        color1 = Color.BurlyWood;
        color2 = Color.DarkOrchid;
        rowhandle = gridView1.FocusedRowHandle;
        if (!rowhandles.Any(x => x == rowhandle))
            rowhandles.Add(rowhandle);
        gridView1.RefreshRow(rowhandle);
    }

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Dictionary<int, string> l = new Dictionary<int, string>();
        l.Add(1,"one");
        l.Add(2,"two");
        l.Add(3,"three");
        l.Add(4, "four");
        l.Add(5, "five");
        l.Add(6, "six");
        l.Add(7, "seven");
        l.Add(8, "eight");
        l.Add(9, "nine");

        gridControl1.DataSource = l.ToList();

        rowhandles = new List<int>();
    }

}
Run Code Online (Sandbox Code Playgroud)