我有一个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上的当前桌面背景?
检测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] 举报,一经查实,本站将立刻删除。