/// <summary>
        ///  Set the reference table foreach component in the collection.
        /// </summary>
        /// <param name="dataTable"></param>
        /// <param name="tableName"></param>
        public void SetSourceView(DataTable dataTable, string tableName)
        {
            int index = 0;
            IDictionary <int, UiDualDfSearchTextObject> newValues = new Dictionary <int, UiDualDfSearchTextObject>();

            foreach (var objectDataField in _objectList)
            {
                if (objectDataField is UiDualDfSearchTextObject)
                {
                    UiDualDfSearchTextObject currentDfSearchTextObject = (UiDualDfSearchTextObject)objectDataField;
                    if (currentDfSearchTextObject.AssistTableName == tableName)
                    {
                        currentDfSearchTextObject.SourceView = dataTable;
                        newValues[index] = currentDfSearchTextObject;
                    }
                }
                if (objectDataField is UiGroupBoxMultipleObject)
                {
                    UiMultipleDfObject multipleDfObject = (UiMultipleDfObject)objectDataField;
                    multipleDfObject.SetSourceView(dataTable, tableName);
                }

                index++;
            }
        }
 public void SetItemSource(DataTable dataTable, string tableName)
 {
     foreach (IUiObject value in _objectList)
     {
         if (value.TableName == tableName)
         {
             value.ItemSource = dataTable;
         }
         if (value is UiMultipleDfObject)
         {
             UiMultipleDfObject multipleDfObject = (UiMultipleDfObject)value;
             multipleDfObject.SetItemSource(dataTable, tableName);
         }
     }
 }
        public IList <IUiObject> FindObjects(DfKind kind)
        {
            IList <IUiObject> dataDfObjects = new List <IUiObject>();

            foreach (IUiObject value in _objectList)
            {
                if ((value is UiDualDfSearchTextObject) && (kind == DfKind.UiDualDfSearch))
                {
                    dataDfObjects.Add(value);
                }
                else if ((value is UiDfObject) && (kind == DfKind.UiDataField))
                {
                    dataDfObjects.Add(value);
                }
                if (value is UiMultipleDfObject)
                {
                    UiMultipleDfObject multipleDfObject = (UiMultipleDfObject)value;
                    multipleDfObject.FindObjects(kind);
                }
            }
            return(dataDfObjects);
        }