如何在自定义数据源组件中为自定义属性提供UIEditor
2009-09-19 00:00:00 来源:WEB开发网我们上一篇讲到了开发一个简单的数据源组件。大家应该还记得,我们有一个自定义属性: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);
}
赞助商链接