예제 #1
0
        /// <summary>
        /// Gets List of OutputColumns of Particular OuputID encapsulated in the FormOutputColumn class
        /// </summary>
        /// <param name="outputID">ID of the Output to get OutputColumns</param>
        /// <param name="creator">OutputColumnCreator to be used for creation of the FormInputColumn instances</param>
        /// <param name="changedHandler">PropertyChangedEventHanled to be associated with the newly created FormInputColumn objects</param>
        /// <returns>List of FomrInputColumn</returns>
        public virtual List <FormOutputColumn> GetFormOutputColumns(int outputID, OutputColumnCreator creator, PropertyChangedEventHandler changedHandler)
        {
            List <FormOutputColumn> outputCols = new List <FormOutputColumn>();
            IDTSOutput output = ComponentMetadata.OutputCollection.GetObjectByID(outputID);

            if (output != null && creator != null)
            {
                for (int i = 0; i < output.OutputColumnCollection.Count; i++)
                {
                    IDTSOutputColumn col = output.OutputColumnCollection[i];

                    FormOutputColumn oCol = creator(col);
                    oCol.UIHelper = this;
                    oCol.OutputID = outputID;

                    oCol.Index = i;

                    if (changedHandler != null)
                    {
                        oCol.PropertyChanged += changedHandler;
                    }

                    outputCols.Add(oCol);
                }
            }

            return(outputCols);
        }
예제 #2
0
        /// <summary>
        /// Initializes objects on the Edit From with data from selected Input and Output defined by Index
        /// </summary>
        /// <param name="clbInputColumns">CheckedListBox with InputColumns</param>
        /// <param name="lbSelectedItems">ListBox with selected InputColumns</param>
        /// <param name="trvOutputColumns">TreeView with OutputColumns</param>
        /// <param name="outputColumnCreator">Delegate for OutputColumnCreator - Method providing new instance of FormOutputColumn for exiswting IDTSOutputColumns</param>
        /// <param name="propertyChangedHandler">Handler to hook to ProperrtyChanged event of FormInputColumns, FormOutput and FormOutputColum objects</param>
        /// <param name="inputIndex">Index of the input to used to populate InputColumns</param>
        /// <param name="outputIndex">Index of the output to be used to pouplate OutputColumns</param>
        public virtual void FormInitialize(CheckedListBox clbInputColumns, ListBox lbSelectedItems, TreeView trvOutputColumns, OutputColumnCreator outputColumnCreator,
                                           PropertyChangedEventHandler o_PropertyChanged, int inputIndex, int outputIndex)
        {
            try
            {
                Loading = true;
                if (clbInputColumns != null)
                {
                    clbInputColumns.SuspendLayout();
                }
                if (lbSelectedItems != null)
                {
                    lbSelectedItems.SuspendLayout();
                }
                if (trvOutputColumns != null)
                {
                    trvOutputColumns.SuspendLayout();
                }

                if (clbInputColumns != null)
                {
                    List <FormInputColumn> inputCols = GetFormInputColumns(inputIndex);

                    inputCols.ForEach(ic => clbInputColumns.Items.Add(ic, ic.IsSelected));

                    if (lbSelectedItems != null)
                    {
                        List <FormInputColumn> selectedColumns = inputCols.FindAll(ic => ic.IsSelected);
                        selectedColumns.Sort((a, b) => a.SortOrder.CompareTo(b.SortOrder));

                        lbSelectedItems.Items.AddRange(selectedColumns.ToArray());
                    }
                }

                if (trvOutputColumns != null)
                {
                    trvOutputColumns.Nodes.Clear();

                    List <FormOutput> outputs = GetFormOutputs(o_PropertyChanged);

                    foreach (FormOutput o in outputs)
                    {
                        TreeNode outputNode = new TreeNode(o.Name);
                        outputNode.Name = o.Guid.ToString();
                        outputNode.Tag  = o;

                        List <FormOutputColumn> cols = GetFormOutputColumns(o.ID, outputColumnCreator, o_PropertyChanged);

                        foreach (FormOutputColumn col in cols)
                        {
                            TreeNode outputColumnNode = new TreeNode(col.Name);
                            outputColumnNode.Name = col.Guid.ToString();

                            outputNode.Nodes.Add(outputColumnNode);
                            outputColumnNode.Tag   = col;
                            col.AssociatedTreeNode = outputColumnNode;
                        }

                        trvOutputColumns.Nodes.Add(outputNode);
                    }

                    trvOutputColumns.ExpandAll();

                    if (trvOutputColumns.Nodes.Count > 0)
                    {
                        TreeNode nd = trvOutputColumns.Nodes[0];
                        if (nd.Nodes.Count > 0)
                        {
                            trvOutputColumns.SelectedNode = nd.FirstNode;
                        }
                        else
                        {
                            trvOutputColumns.SelectedNode = nd;
                        }
                        trvOutputColumns.SelectedNode.EnsureVisible();
                    }
                }
            }
            finally
            {
                Loading = false;
                if (clbInputColumns != null)
                {
                    clbInputColumns.ResumeLayout();
                }
                if (lbSelectedItems != null)
                {
                    lbSelectedItems.ResumeLayout();
                }
                if (trvOutputColumns != null)
                {
                    trvOutputColumns.ResumeLayout();
                }
            }
        }
예제 #3
0
 /// <summary>
 /// Initializes objects on the Edit From default Inout and Output (Index = 0)
 /// </summary>
 /// <param name="clbInputColumns">CheckedListBox with InputColumns</param>
 /// <param name="lbSelectedItems">ListBox with selected InputColumns</param>
 /// <param name="trvOutputColumns">TreeView with OutputColumns</param>
 /// <param name="outputColumnCreator">Delegate for OutputColumnCreator - Method providing new instance of FormOutputColumn for exiswting IDTSOutputColumns</param>
 /// <param name="propertyChangedHandler">Handler to hook to ProperrtyChanged event of FormInputColumns, FormOutput and FormOutputColum objects</param>
 public virtual void FormInitialize(CheckedListBox clbInputColumns, ListBox lbSelectedItems, TreeView trvOutputColumns, OutputColumnCreator outputColumnCreator,
                                    PropertyChangedEventHandler o_PropertyChanged)
 {
     FormInitialize(clbInputColumns, lbSelectedItems, trvOutputColumns, outputColumnCreator, o_PropertyChanged, 0, 0);
 }