如何让其他控件在自定义控件中看到 DataTables 的集合?
Posted
技术标签:
【中文标题】如何让其他控件在自定义控件中看到 DataTables 的集合?【英文标题】:How to make other controls see a collection of DataTables in a custom control? 【发布时间】:2021-04-12 09:26:54 【问题描述】:我正在构建一个可以从工具箱拖到表单上的自定义组件。 它公开了一个 DataTable 类型的 List,到目前为止效果很好。
我缺少的是,当我将 BindingSource 放在同一个表单上时,在设计器中 BindingSource 看不到我的 DataTables 集合。所以我不能从自定义组件中选择一个 DataTables。我知道我可以在代码中做到这一点,但这不是我的想法,我想在设计器中做到这一点。
我怎样才能做到这一点?
DataTables的公共集合的代码是这样的
[Serializable]
public partial class gttDataModule : Component
private List<DataTable> _dataTables = new List<DataTable>();
public List<DataTable> DataTables
get return _dataTables;
set _dataTables = value;
DataTables 的集合被填充并填充了列和所有内容,另请参见附图。 除了 BindingSources 和其他可以接受 DataTable 作为 DataSource 的控件没有看到此集合之外,一切正常。 有没有办法做到这一点?
【问题讨论】:
【参考方案1】:请点击DataSource
->Other Data Sources
->List Instances
->选择您在自定义控件中添加的数据表,为bindingSouce
控件设置datasource
。
【讨论】:
感谢您的回复,但很遗憾我的 DataTables 没有出现在Other Data Sources
中。我的问题是如何完成它,这样他们就会出现在那里
@GuidoG,我用的是vs2019,看来你用的是vs2015。可以用vs2019来测试吗?
不,对不起,我这里只有 VS 2015。所以你是说它可以在 VS 2019 中工作?如果我确定这一点,我可以推动我的雇主最终升级
@GuidoG,根据我的测试,目前它在 vs2019 中运行良好。如果您的电脑无法使用vs2019,可以在虚拟机中测试。
你能详细说明you can test it in virtual machine
我可以在虚拟机的某个地方获得VS 2019吗?或者你的意思是什么?以上是关于如何让其他控件在自定义控件中看到 DataTables 的集合?的主要内容,如果未能解决你的问题,请参考以下文章