各位老師好,我使用的DEV EXPRESS,如何設定GridView某行背景色呢?

如上圖,我想選中行,根據顏色標識舊材料和新材料
我自己試寫了下,沒有效果,不知何故
Load里設定了一些屬性
gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
gridView1.Appearance.SelectedRow.Options.UseBackColor = true;
gridView1.Appearance.SelectedRow.Options.UseBorderColor = true;
gridView1.Appearance.Preview.Options.UseBackColor = true;
gridView1.Appearance.Preview.Options.UseBorderColor = true;
private void toolStripMenuItem_OldMaterial_Click(object sender, EventArgs e)
{
if (gridView1.FocusedRowHandle < 0)
{
return;
}
if (null != gridView1.Appearance.Preview)
{
gridView1.Appearance.Preview.BackColor = gridView1.Appearance.Row.BackColor;
}
gridView1.Appearance.SelectedRow.BackColor = Color.Red;
}
private void ToolStripMenuItem_NewMaterial_Click(object sender, EventArgs e)
{
if (gridView1.FocusedRowHandle < 0)
{
return;
}
if (null != gridView1.Appearance.Preview)
{
gridView1.Appearance.Preview.BackColor = gridView1.Appearance.Row.BackColor;
}
gridView1.Appearance.SelectedRow.BackColor = Color.Green;
}
uj5u.com熱心網友回復:
https://blog.csdn.net/qq_17486399/article/details/50467852看看是不是你需要的
uj5u.com熱心網友回復:
搞定了
private void toolStripMenuItem_OldMaterial_Click(object sender, EventArgs e)
{
if (gridView1.FocusedRowHandle < 0)
{
return;
}
oldPrevMaterialIndex = oldMaterialIndex;
oldMaterialIndex = gridView1.FocusedRowHandle;
gridView1.RefreshRow(oldPrevMaterialIndex);
gridView1.RefreshRow(oldMaterialIndex);
}
int oldMaterialIndex = -1;
int oldPrevMaterialIndex = -1;
int newMaterialIndex = -1;
int newPrevMaterialIndex = -1;
private void ToolStripMenuItem_NewMaterial_Click(object sender, EventArgs e)
{
if (gridView1.FocusedRowHandle < 0)
{
return;
}
newPrevMaterialIndex = newMaterialIndex;
newMaterialIndex = gridView1.FocusedRowHandle;
gridView1.RefreshRow(newPrevMaterialIndex);
gridView1.RefreshRow(newMaterialIndex);
}
private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
if (e.RowHandle < 0)
{
return;
}
if (((e.RowHandle == oldPrevMaterialIndex) || (e.RowHandle == newPrevMaterialIndex)) &&
(e.Appearance.BackColor != gridView1.Appearance.Row.BackColor))
{
e.Appearance.BackColor = gridView1.Appearance.Row.BackColor;
}
if ((e.RowHandle == oldMaterialIndex) &&
(e.Appearance.BackColor != Color.Red))
{
e.Appearance.BackColor = Color.Red;
}
else if ((e.RowHandle == newMaterialIndex) &&
(e.Appearance.BackColor != Color.Green))
{
e.Appearance.BackColor = Color.Green;
}
}
uj5u.com熱心網友回復:
private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
這個事件也是OK的
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/133935.html
標籤:C#
下一篇:如何看待這個網站亂刪帖的行為?
