我需要知道XtraGrid是否已被修改(值已更改或添加了行)。
我可以创建一个boolean var并在GridView_CellValueChanged上更改它
void suppGridView_CellValueChanged(object sender, CellValueChangedEventArgs e) {
isModified = true;
}或
我可以读取所有DataSource并检查DataRow.RowState属性值(Modified或Added):
foreach (DataRow row in dataSource.Rows) {
if (row.RowState == DataRowState.Modified || row.RowState == DataRowState.Added)
return true;
}你知道更简单的方法吗?
发布于 2012-08-22 16:58:35
您可以通过以下方式了解数据表是否发生了变化:
DataTable changes = table.GetChanges(DataRowState.Added | DataRowState.Modified);
bool isModified = (changes != null);这里的table是一个DataTable。
来自msdn
DataTable.GetChanges方法:
获取DataTable的副本,其中包含自上次加载或调用AcceptChanges以来对其所做的所有更改,并由DataRowState进行筛选。
备注:如果没有找到所需DataRowState的行,则该方法返回null。
https://stackoverflow.com/questions/12067817
复制相似问题