// DataTable dt = new DataTable();
// dt.AccessChanges();
dt.ColumnChanged += dt_ColumnChanged;
private static List<string> lstModified = new List<string>();
static void dt_ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
object objCurrent = e.Row[e.Column];
object objOrg = e.Row[e.Column, DataRowVersion.Original];
string cellInfo = string.Format("{0}_{1}", e.Row["Name"], e.Column.ColumnName);
bool isEqual = string.Compare(objCurrent.ToString(), objOrg.ToString()) == 0;
if (isEqual)
{
if (lstModified.Contains(cellInfo))
{
lstModified.Remove(cellInfo);
}
}
else
{
if (!lstModified.Contains(cellInfo))
{
lstModified.Add(cellInfo);
}
}
}