C# 如何为在datagrid中修改的行着色,并将其放置在该行上?

C# 如何为在datagrid中修改的行着色,并将其放置在该行上?,c#,winforms,datagridview,C#,Winforms,Datagridview,我尝试: private int GetRowHandleByColumnValue(GridView视图,字符串ColumnFieldName,对象值) { int result=GridControl.InvalidRowHandle; 对于(int i=0;i

我尝试:

private int GetRowHandleByColumnValue(GridView视图,字符串ColumnFieldName,对象值)
{
int result=GridControl.InvalidRowHandle;
对于(int i=0;i

在C#?

中可能存在类似于从Delphi定位的函数。您可以使用
DefaultCellStyle
属性更改颜色和其他行样式

    private int GetRowHandleByColumnValue(GridView view, string ColumnFieldName, object value)
    {

        int result = GridControl.InvalidRowHandle;
        for (int i = 0; i < view.RowCount; i++)
            if (Equals(value, view.GetRowCellValue(i, ColumnFieldName)))
                return i;
        return result;
    }

    private void Locate()
    {

        int rowHandle = GetRowHandleByColumnValue(dgvMedici, "Parafa", txtParafa.Text);
        if (rowHandle != GridControl.InvalidRowHandle)
        {
            dgvMedici.FocusedColumn = dgvMedici.Columns.ColumnByFieldName("Parafa");
            dgvMedici.FocusedRowHandle = rowHandle;
            dgvMedici.ShowEditor();
        }
        else
            MessageBox.Show("Not found!");
    }

    private void dgvMedici_RowCellStyle(object sender, RowCellStyleEventArgs e)
    {
        GridView view = sender as GridView;
        if (view.FocusedRowHandle == e.RowHandle && !view.FocusedColumn.Equals(e.Column))
            e.Appearance.BackColor = Color.Orange;
    }

不是DataGridView。可能是DevExpress.GridView。
private void YourEvent(object sender, EventArgs e)
    {
        DataGridViewRow row = new DataGridViewRow(); // an example row
        row.DefaultCellStyle.BackColor = System.Drawing.Color.Orange; // change back color to orange
    }