我有一个数据表(作业),该表中有一个名为 StatusId 的列。我有另一个数据表(jobStatus)。作业表有 1 条作业记录,作业状态表包含所有作业状态。
在我的 winforms 表单上,我显示了作业记录,作业状态是一个显示作业状态表内容的组合框。列表部分 (DisplayMember) 绑定到 jobstatus 表,数据部分绑定到作业表。(ValueMember)所以一切都很好,当我的工作被选中并显示时,组合框会选择相应的工作状态......一切都很好。
现在我有另一个表单(JobStatus),我可以在其中添加更多的工作状态记录。因此,当我输入/更改工作记录时,我发现我需要另一个工作状态,所以我跳到我的工作状态表并输入我的新状态。然后我跳回到工作表,现在我希望能够在组合框中选择我的新工作状态。
我的问题是这个场景的最佳实践是什么,其中新记录已添加或编辑到用于在另一个表单上填充组合框的查找样式列表中。我尝试将代码放在表单的激活事件中,除了表单闪烁之外,它看起来很丑陋。
有任何想法吗???
我实际上是在按照您所说的进行操作,这让我更仔细地查看了代码。问题是我处理代码行的顺序,我发现当
旧代码
cboCustomer.DataSource = Business.Contact.GetContact( Enums.ContactType.Customer ).Tables[0];
sorted = ( ( DataTable ) cboCustomer.DataSource ).DefaultView;
sorted.Sort = "Name ASC";
新代码在这里
DataView dv = Business.Contact.GetContact( Enums.ContactType.Customer ).Tables[0].DefaultView;
dv.Sort = "Name ASC";
DataTable dt = dv.ToTable();
cboCustomer.DataSource = dt;
奇迹般有效。为你的帮助干杯