1.record the modification:
private List<string> m_lstValueModify = new List<string>();
dt.ColumnChanged += new DataColumnChangeEventHandler(dt_ColumnChanged);
void dt_ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
string fieldName = e.Column.ColumnName;
if (string.Compare(fieldName, "Check", true) != 0)
{
string strKey = string.Format("{0}_{1}", fieldName, e.Row["AutoGen"]);
if (!m_lstValueModify.Contains(strKey))
{
m_lstValueModify.Add(strKey);
}
}
}
2.Implement draw event:
private void m_gridView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (e.RowHandle >= 0)
{
if (string.Compare(e.Column.FieldName, "Check", true) != 0)
{
DataRowView drv = m_gridViewHolding.GetRow(e.RowHandle) as DataRowView;
if (drv != null)
{
string strKey = string.Format("{0}_{1}", e.Column.FieldName, drv.Row["AutoGen"]);
if (m_lstValueModify.Contains(strKey))
{
Rectangle r = e.Bounds;
int flagSize = 4;
PointF[] points = new PointF[] { new PointF(r.X, r.Y), new PointF(r.X + flagSize, r.Y), new PointF(r.X, r.Y + flagSize) };
e.Graphics.FillPolygon(Brushes.Red, points);
}
}
}
}
}