如何在c#中为GridView中的选定行着色

时间:2013-10-02 09:02:30

标签: c# winforms gridview devexpress xtragrid

我在gridview

中选择了跟随代码的所有行

gridView1.SelectAll();

现在我想在gridview中为选定的行着色,例如蓝色。

我该怎么做?

6 个答案:

答案 0 :(得分:3)

我相信你在谈论DevExpress XtraGrid。如果是这样,那么有多种方法可以突出显示DevExpress XtraGrid中的特定行,具体取决于您的具体任务。 例如,要突出显示任何选定的行,您可以使用以下代码:

gridView1.Appearance.SelectedRow.BackColor = Color.Red;

要使用自定义条件突出显示特定行,您可以使用GridView.RowStyle事件:

void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) {
    if((e.State & DevExpress.XtraGrid.Views.Base.GridRowCellState.Selected) != 0) {
        // check some conditions
        e.HighPriority = true;
        e.Appearance.BackColor = Color.Blue;
    }
}

请在以下帮助文章中详细了解所有这些方法:Customizing Appearances of Individual Rows and Cells

答案 1 :(得分:0)

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    row.DefaultCellStyle.BackColor = Color.Blue;
}

答案 2 :(得分:0)

您可以使用SelectedRowStyle属性

MSDN exemple

答案 3 :(得分:0)

试试这个,

To change selected rows

private void button1_Click(object sender, EventArgs e)
    {
        foreach (DataGridViewRow item in dataGridView1.SelectedRows)
        {
            if (null != item)
            {
                item.DefaultCellStyle.BackColor = Color.Blue;
            }
        }            
    }

To change all rows

foreach (DataGridViewRow item in dataGridView1.Rows)
{
}

答案 4 :(得分:0)

对于gridview,为事件CellFormatting

设置以下方法
private void StocksDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
    StocksDataGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.OrangeRed;
}

答案 5 :(得分:0)

你说你用DevexpressGrid。因此,可以通过在设计时更改girdView's properties来轻松实现。

enter image description here