public void Initialize(ABCView view, ABCSearchInfo searchInfo)
 {
     OwnerView       = view;
     this.DataSource = searchInfo.DataSource;
     this.DataMember = searchInfo.DataMember;
     this.TableName  = searchInfo.TableName;
     InvalidateControl();
 }
Beispiel #2
0
        public void PopulateControls(ABCView view, String BusName, String strTableName)
        {
            ViewOwner  = view;
            DataSource = BusName;
            TableName  = strTableName;
            int iCount            = 0;
            ABCSearchControl ctrl = null;

            foreach (DataConfigProvider.FieldConfig fieldConfig in DataConfigProvider.TableConfigList[strTableName].FieldConfigList.Values)
            {
                if (fieldConfig.InUse == false)
                {
                    continue;
                }

                if (DataStructureProvider.IsPrimaryKey(strTableName, fieldConfig.FieldName) ||
                    DataStructureProvider.IsForeignKey(strTableName, fieldConfig.FieldName))
                {
                    continue;
                }

                if (fieldConfig.IsDefault)
                {
                    if (view != null && view.Mode == ViewMode.Design)
                    {
                        ctrl = (ABCSearchControl)view.Surface.DesignerHost.CreateComponent(typeof(ABCSearchControl));
                    }
                    else
                    {
                        ctrl = (ABCSearchControl)ABCDynamicInvoker.CreateInstanceObject(typeof(ABCSearchControl));
                    }

                    ABCSearchInfo searchInfo = new ABCSearchInfo();
                    searchInfo.DataSource = BusName;
                    searchInfo.TableName  = TableName;
                    searchInfo.DataMember = fieldConfig.FieldName;

                    ctrl.Initialize(view, searchInfo);
                    ctrl.Parent = this.DropZone;
                    iCount++;
                }
            }

            if (iCount % 2 != 0)
            {
                iCount++;
            }
            iCount = iCount / 2;
            if (ctrl != null)
            {
                this.Size = new Size(ctrl.Width * 2 + 4 * 3, 20 * iCount + (iCount + 1) * 5 + 25);
            }
        }