Visual Studio C#表单设计

LabProARW

成员
已加入
2019年11月4日
留言内容
22
编程经验
1-3
我有一个具有7个标签的标签控件的计划。每个选项卡基本上都在执行过滤器或单独的查询,以仅从多表关系数据库中获取数据的子集。一个选项卡,我需要所有方法。一个选项卡,我只需要QC类别方法。一个选项卡,我只需要RandD方法...等等。现在,在表单的右侧,我想显示找到的每个方法记录的所有详细信息。我认为一切都很好,直到我弄清楚了详细信息部分(如果您会在表单的右侧)时,仅专门引用了其中一个选项卡的结果即可。当然,当我单击其他选项卡时,这将无法正常工作。我正在描述的使此表格生效的最佳方法是什么?

提前致谢。
 

羊皮

知名会员
已加入
2018年9月5日
留言内容
1,982
编程经验
10+
显示您的代码。您含糊的解释没有帮助,但是查看您的代码将帮助我们确定您要执行的操作。如果选项卡1处于活动状态,如何执行属于选项卡2到7的代码?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
要记住的一件事是,TabControl的工作方式是直到第一次显示托管它们的TabPage时,才创建控件。这样做是为了使使用TabControls加载重表格更加有效。如果您假设首次显示该表单时将创建所有控件,则可能导致意外结果。您需要强制在加载时在其他页面上创建控件,或者直到第一次显示它们的页面时才使用它们。
 

LabProARW

成员
已加入
2019年11月4日
留言内容
22
编程经验
1-3
由于我使用的是Visual Studio,这是我第一次接触C#和OOP,所以我一直在想,这样做是否更容易,就像我执行MS Access并用代码编写大部分代码一样。在VBA中,我可以单击选项卡控件中的选项卡,然后通过代码轻松更改“方法详细信息”的RecordSource的代码,以使用与所选选项卡相同的RecordSource。试图在VS中使用“方法详细信息”控件的“属性”,使我迷失了下一步的方向,以实现在VBA和ACCESS中容易实现的目标。当我单击另一个选项卡时,根据该选项卡所代表的分类/类别,方法列表会有所不同。

方法数据库CS.JPG
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
这就是我要怎么做。我将用所有数据填充单个DataTable。然后,我将为每个TabPage过滤一次该DataTable。我认为您可以通过将DataTable绑定到多个BindingSources,然后根据需要设置每个BindingSource的Filter来实现。如果没有,则可以为每个TabPage创建一个DataView并将其绑定到BindingSource并设置Filter。然后,您将每个BindingSource绑定到一个DataGridView。

然后,您将具有另一个BindingSource,该绑定源将绑定到“方法详细信息”组中的所有单个控件。该BindingSource将绑定到与当前TabPage对应的BindingSource。当您选择其他TabPage时,会将相应的BindingSource绑定到右侧的单个BindingSource。
 
最佳 底部