首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在自定义SSIS数据流组件中为自定义属性使用复选框列表?

如何在自定义SSIS数据流组件中为自定义属性使用复选框列表?
EN

Stack Overflow用户
提问于 2011-10-31 15:12:56
回答 1查看 1.3K关注 0票数 0

我认为这个问题的标题说明了一切。我正在为SSIS开发一个自定义数据流组件。我想使用一个复选框列表,从集合中获取它的值( list,enum,.并给用户检查几个选项的可能性。然后我想把这些作为我的SSIS组件的列表..。有人知道这怎么可能吗?

更新.

例如,我有一个包含{a,b,c,d}的列表。(假设它是硬编码的,尽管实际上我将从数据库中提取记录)。

我想给用户一个复选框,例如他可以从上面的列表中选中a和c。

然后,我的组件中的属性现在包含:{a,c}。

澄清

我有一个字符串列表。在我的UI中(如果可能的话,高级编辑器),我想构建一个组合框,其中的选项是列表中的字符串。

该组件具有string属性。一旦用户从combobox中做出选择,包含这些选择的逗号分隔字符串将生成并传递给组件,并存储在string属性中。

我需要知道的是:

  • 如何根据字符串列表在高级编辑器中构建组合框(如果可能的话)?
  • 如何将UI中的值返回到组件,然后生成字符串?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-04 22:36:54

让我先回答第一个问题:

  • 据我所知,无法通过高级编辑器完成此操作,因为您无法在其中托管自定义UI控件;或者至少我不知道如何实现它
  • 注意:我写了“自定义”,因为您要求使用带有多个选择的组合框,而这种控件在.NET中是不可用的;但是,如果您愿意的话,在因特网上有很多关于如何创建此类控件的信息。

这意味着您必须使用为组件开发UI表单。要回答您的两个问题,您需要查看本文中的以下部分:

  • 数据流组件的设计时方法-要了解如何向组件中添加自定义属性--必须重写ProvideComponentProperties方法。
  • 为数据流组件开发用户界面--了解如何为组件创建自定义UI;您需要两个类: UI类(向组件注册)和UI表单,它们被实例化并从UI类中使用;注意示例(btnOK_Click处理程序),它向您展示了如何使用SetCustomProperty方法将属性值从UI保存到组件本身
  • 验证数据流组件-检查验证实现以查看如何从组件访问属性-使用组件元数据的CustomPropertyCollection

关于将属性值从组件传递给UI和返回的说明:

  • 组件中的ProvideComponentProperties告诉SSIS组件具有哪些属性。
  • 当用户在打开包后第一次启动组件UI时,SSIS实例化UI类并调用Initialize实例方法并将ComponentMetadata作为参数传递
  • 当用户启动组件UI打开时,SSIS调用先前创建的UI类实例的Edit方法,并将父窗口句柄、包变量和包连接作为参数传递。
  • 它是编辑方法,您应该调用表单的构造函数并显示它- UI类非常简单,正如您在前面提到的MSDN文章中所看到的那样。
  • 表单构造函数必须有参数:包连接、包变量和组件元数据。
  • 一旦用户单击窗体上的“确定”,就可以使用组件元数据SetCustomProperty方法将属性设置为适当的值(在本例中为级联列表)。
  • 要在组件代码(非UI)中读取属性值,请使用组件元数据对象的CustomPropertyCollection

还有一件事:既然您将为您的组件创建UI,请考虑使用已与.NET框架一起提供的选中的.NET,而不是创建自定义组件。

提供了Server 2008 R2的链接,如果愿意,可以在文章的顶部选择不同的版本。

希望这足以让你继续你的任务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7955632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档