我在系結到 DataGridView 的資料庫中的 DataSet 中有 DataTables。如果資料發生變化,我想顯示一個狀態。所以我使用 DataGridView 的 CellValueChanged 事件作為觸發器。在事件例程中,如果確實有變化,我會使用 DataSet.HasChanges 檢查 DataSet 中的變化。但這還為時過早,我認為當時 DataGridView 沒有更新 DataTable。從第二次更改開始,它就起作用了。更新資料表后是否會觸發另一個事件?
uj5u.com熱心網友回復:
使用DataTable.ColumnChanged Event進行更改,按TAB或ENTER獲取原始值和建議值。在下面的示例中,我們首先訂閱 DataTable ColumnChanged 事件
someDataTable.ColumnChanged = ColumnChanged;
然后,在這種情況下,將值顯示到 Visual Studio 輸出視窗
public void ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
Console.WriteLine($" Column name {e.Column.ColumnName}");
Console.WriteLine($" Original value [{e.Row[e.Column.ColumnName, DataRowVersion.Original]}]");
Console.WriteLine($" Propose value [{e.ProposedValue}]");
}
或者有選擇性
public void ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
if (
e.Row.RowState == DataRowState.Deleted ||
e.Row.RowState == DataRowState.Detached ||
e.Row.RowState == DataRowState.Added)
return;
Console.WriteLine($" Column name {e.Column.ColumnName}");
Console.WriteLine($" Original value [{e.Row[e.Column.ColumnName, DataRowVersion.Original]}]");
Console.WriteLine($" Propose value [{e.ProposedValue}]");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480898.html
上一篇:Python未知錯誤:MongoDB資料庫的屬性錯誤
下一篇:查找具有相同值的行并選擇較新的行
