Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

Custom SSIS Pipeline UI

$
0
0

Hi Folks.

I can't get my custom SSIS component to fire up a custom UI. It always just shows the advanced UI. I followed the MSDN docs, I must be missing something. I followed the recommendation of having 2 different assemblies 1 for the pipeline component and one for the UI. They're both in the same name space.

The class declaration for my pipeline component looks like...

 [DtsPipelineComponent(DisplayName = "SMI Row Count Source Adpater",
 UITypeName = "SemanticMI.SSIS.RowCountSourceUI,Version=1.0.0.0,Culture=neutral,PublicKeyToken=8e0e05441a76b75d",
 ComponentType = ComponentType.SourceAdapter)]
public class RowSountSource : PipelineComponent
{
......

The UI component extends IDtsComponentUI as shown below. The name space is SemanticMI.SSIS.RowCountSource. The assembly is SemanticMI.SSIS.RowCountSourceUI. There's not much code in this yet I'm just building up an understanding of how this stuff fits together and firing up an empty form. I deploy both dll's to the assembly cache and to DTS pipeline directories. Thanks in advance.

namespace SemanticMI.SSIS.RowCountSource
{
    public class RowCountSourceUI : IDtsComponentUI

    {
        IDTSComponentMetaData100 _componentMetaData;
        IServiceProvider _serviceProvider;

        public void Initialize(IDTSComponentMetaData100 componentMetadata, IServiceProvider serviceProvider)
        {
            // Store the component metadata.
            this._componentMetaData = componentMetadata;
            this._serviceProvider = serviceProvider;
        }


        public void Help(IWin32Window parentWindow)
        {
       
        }

        public void New(IWin32Window parentWindow)
        {
       
        }

        public void Delete(IWin32Window parentWindow)
        {
       
        }

        public bool Edit(IWin32Window parentWindow, Variables variables, Connections connections)
        {

            bool ret = false;
            RowCountSourceUIForm componentEditor = new RowCountSourceUIForm(connections, variables, _componentMetaData);
            DialogResult result = componentEditor.ShowDialog(parentWindow);

            if (result == DialogResult.OK)
            {
                ret = true;
            }

            return ret;
        }

    }
}

 


shaun




Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>