【问题标题】:How to make other controls see a collection of DataTables in a custom control?如何让其他控件在自定义控件中看到 DataTables 的集合?
【发布时间】: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 的控件没有看到此集合之外,一切正常。
有没有办法做到这一点?

【问题讨论】:

    标签: c# visual-studio visual-studio-2015 custom-controls


    【解决方案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吗?或者你的意思是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多