WEB开发网
开发学院数据库MSSQL Server 如何在自定义数据源组件中为自定义属性提供UIEdit... 阅读

如何在自定义数据源组件中为自定义属性提供UIEditor

 2009-09-19 00:00:00 来源:WEB开发网   
核心提示:我们上一篇讲到了开发一个简单的数据源组件,大家应该还记得,如何在自定义数据源组件中为自定义属性提供UIEditor,我们有一个自定义属性:Folder,这个属性代表的是我们要遍历的目录,如何添加这样的支持呢?我们可以修改一下下面的方法,红色的部分是我添加到publicoverridevoidProvideCompone

我们上一篇讲到了开发一个简单的数据源组件。大家应该还记得,我们有一个自定义属性:Folder。这个属性代表的是我们要遍历的目录。

但有一点美中不足的是,Folder按理说最好是让用户去选择文件夹,而不应该手工输入才算比较好。因为手工输入有可能会输错,也比较麻烦。

那么,如何添加这样的支持呢?

我们可以修改一下下面的方法。红色的部分是我添加到

    public override void ProvideComponentProperties()
    {
      ComponentMetaData.RuntimeConnectionCollection.RemoveAll();
      RemoveAllInputsOutputsAndCustomProperties();
      IDTSCustomProperty90 folder = ComponentMetaData.CustomPropertyCollection.New();
      folder.Name = "Folder";
      folder.UITypeEditor = 
        "System.Windows.Forms.Design.FolderNameEditor, System.Design, Version=1.0.3300.0,"+ 
      "Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; 

      IDTSOutput90 output = ComponentMetaData.OutputCollection.New();
      output.Name = "MyOutput";

      //初始化的时候,准备几个输出列
      IDTSOutputColumn90 fileNameColumn = output.OutputColumnCollection.New();
      fileNameColumn.Name = "FileName";
      fileNameColumn.SetDataTypeProperties(DataType.DT_WSTR, 256, 0, 0, 0);
      //如果是非Unicode则要提供CodePage,其他的类型可以设置为0

      IDTSOutputColumn90 fileSizeColumn = output.OutputColumnCollection.New();
      fileSizeColumn.Name = "FileSize";
      fileSizeColumn.SetDataTypeProperties(DataType.DT_I8, 0, 0, 0, 0);

      IDTSOutputColumn90 fileExtensionColumn = output.OutputColumnCollection.New();
      fileExtensionColumn.Name = "FileExtension";
      fileExtensionColumn.SetDataTypeProperties(DataType.DT_WSTR, 50, 0, 0, 0);

    }

1 2 3 4 5 6  下一页

Tags:如何 定义 数据源

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接