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
}