事件值在DataTable BOND到DataGridView中更改

发布于 2025-01-31 12:40:08 字数 166 浏览 1 评论 0原文

我在数据库中的数据集中有数据库中的数据集,绑定到数据杂志。如果数据更改,我想显示状态。因此,我将DataGridView的CellValueChanged事件用作触发。如果例程,我会检查使用数据集中数据集中的更改。但这是早期的,我当时尚未更新DataTaTable。从第二个更改中起作用。更新数据表后还有另一个事件吗?

I have DataTables in a DataSet in a data base bound to a DataGridView. I'd like to show a status if the data changed. So I used the CellValueChanged event of the DataGridView as trigger. In the event routine I check for changes in the DataSet with DataSet.HasChanges if there was really a change. But that is to early, I asume the DataGridView didn't updated the DataTable at that time. From the 2nd change on it works. Is there another event which is fired after updating the data table?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星光不落少年眉 2025-02-07 12:40:08

使用,进行更改,按 tab enter 获取原始和建议的值。在下面的示例中,我们首先订阅DataTable ColumnChanged事件

someDataTable.ColumnChanged += ColumnChanged;

,在这种情况下,显示为Visual Studio Output窗口的值

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}]");

}

Using DataTable.ColumnChanged Event, make a change, press TAB or ENTER to get original and proposed value. In the following example we first subscribe to the DataTable ColumnChanged event

someDataTable.ColumnChanged += ColumnChanged;

Then, in this case show values to Visual Studio output window

public void ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
    Console.WriteLine(
quot;       Column name {e.Column.ColumnName}");
    Console.WriteLine(
quot;    Original value [{e.Row[e.Column.ColumnName, DataRowVersion.Original]}]");
    Console.WriteLine(
quot;    Propose value [{e.ProposedValue}]");
}

Or be selective

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(
quot;       Column name {e.Column.ColumnName}");
    Console.WriteLine(
quot;    Original value [{e.Row[e.Column.ColumnName, DataRowVersion.Original]}]");
    Console.WriteLine(
quot;    Propose value [{e.ProposedValue}]");

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文