微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何刷新winform上的数据驱动combobox

我有一个comboBox的winform从数据库中的查询填充。 如果我添加一个字段到数据库,新的字段将不会显示在窗体中,直到我closures并重新打开它。

我能够放入一个MessageBox.Show(),一旦popup,我closures它,并看到comboBox中的新数据。

编辑:

让我澄清一下。 我有一个下拉comboBox,并由表适配器填充。 我只是做了与GUI的数据绑定,所以我不知道它是如何工作的。

如何从.NET客户端应用程序加载URL

在.NET中模仿Windows的“运行”窗口

使用C#如何检测是否安装了Windows Installer 4.5

什么是Windows平台的GPS中间驱动程序的等效物?

如何使用C#访问iOS应用程序的Documents文件

我想要的是,当我回来的时候,我想让我input的新数据得到刷新。 我有一个单独的窗口来pipe理数据,然后我closures它我想comboBox更新我刚刚保存的。

这可能吗? 我试图在表单加载,但也不起作用,我认为,因为表单已经加载。

如何切换到具体的文件处理

如何通过WMI获取IIS应用程序信息

如何发现哪个图像文件是Windows上的当前桌面背景?

Visual Studio 2008源代码控制小团队

检测Windows重新启动是否由于Windows更新

刷新方法不是这样的。 你想要实现的是刷新数据绑定。 这将是这样的:

cb.DataBindings[0].ReadValue();

另一种方法是使用支持更改通知的数据源。 这样的数据源用适当的参数触发ListChanged事件来触发绑定到它的控件的更新。

你必须再次从数据集中填充表格适配器

youTableAdapter.Fill(yourdataSet.tablename);

那么你必须重新分配数据源

this.comboBox.DataSource = this.yourBindingSource;

最后你可以刷新你的组合框

comboBox.Refresh();

这取决于你的datagrid绑定到什么。 假设数据源的ListChanged事件被正确触发,重新填充数据源(如DataTable或自定义的BindingList)应自动重新填充网格。

如果我正确地理解了这一点,你可以做的一件事就是使用一个像上面提到的那样的ListChanged事件,但是看起来好像不起作用。

TableAdapter并不是标准意义上的表格,而是一个临时存储区域。

看看你的Form1_Load函数(或任何你命名你的表单,只是使用认),并寻找一个tableadapter.fill方法。 this.comboBoxTableAdapter.Fill(yourdataset name)。 这实际上是填充你的数据集。

创建一个函数来填充这些数据集(如果有多个),然后在ListChanged事件上,甚至在窗体的Activate事件上调用函数。 这样,当你进入那个孩子的形式和改变数据,当你回到主窗体的数据将在那里。

我希望这有助于你的项目,祝你好运。

这是为我工作。 当我刷新辅助数据集(第一行)时,组合框并没有选择新的值,所以我重新分配了dataTable作为DataSource(第三行)。

boundDataSet = proxy.ReadResources(); DataGridViewComboBoxColumn nameColumn = dataGrid.Columns["Name"] as DataGridViewComboBoxColumn; nameColumn.DataSource = boundDataSet.Table;

cmbguest.DataSource = null; loadguestDetails();

使数据集为空,并重新绑定组合框,然后您可以刷新winforms中的数据驱动组合框

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐