gpt4 book ai didi

c# - DataGridView 数据源不更新

转载 作者:太空狗 更新时间:2023-10-29 22:13:59 27 4
gpt4 key购买 nike

我正在使用 Winforms DevExpress 并将 DataTable 绑定(bind)到工作正常的 DataGridView。我遇到的问题是我有一些函数将构建一个新的 DataTable 对象,该对象与原始对象分开,需要替换绑定(bind)到 DataGridView 的原始 DataTable。

DataTable originalTable = new DataTable("OriginalTable");

//Populate originalTable

myDataGridControl.DataSource = originalTable;

上面的代码一切正常,但下面的代码创建了一个新的数据表,需要将其设置为 myDataGridControl 的数据源。

DataTable newTable = new DataTable("NewTable");

//Populate newTable

//Set newTable as the DataSource for myDataGridControl
myDataGridControl.DataSource = newTable;

我尝试了几种不同的尝试来使这项工作正常进行,例如调用 RefreshDataSource()、Refresh()、将 DataSource 设置为 null。我还没有让它工作。我该怎么做?

最佳答案

尝试使用 BindingSource,如下所示:

DataTable sourceTable = new DataTable("OriginalTable");
BindingSource source = new BindingSource();
source.DataSource = sourceTable;
myDataGridControl.Datasource = source;

现在,当您想要重新绑定(bind)时,更新 sourceTable 变量,如下所示:

sourceTable = new DataTable("NewTable");

// If the structure of `OriginalTable` and `NewTable` are the same, then do this:
source.ResetBindings(false);

// If the structure of `OriginalTable` and `NewTable` are different, then do this:
source.ResetBindinds(true);

注:阅读BindingSource.ResetBindings Method有关 ResetBindings() 的更多信息。

关于c# - DataGridView 数据源不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18478578/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com