예제 #1
0
        public static void InitDefaultRepositoryGridLookUpEdit(String strTableName, ABCRepositoryGridLookupEdit repo, Boolean isCreateNewView)
        {
            ABCGridView view;

            if (isCreateNewView)
            {
                view = new ABCGridView(strTableName);
                InitDefaultColumns(strTableName, view);
            }
            else
            {
                view = GetDefaultGridView(strTableName);
            }

            repo.View        = view;
            repo.ValueMember = DataStructureProvider.GetPrimaryKeyColumn(strTableName);

            String strDisplayCol = DataStructureProvider.GetDisplayColumn(strTableName);

            if (String.IsNullOrWhiteSpace(strDisplayCol))
            {
                strDisplayCol = repo.ValueMember;
            }
            repo.DisplayMember = strDisplayCol;

            if (view.Columns.Count <= 7)
            {
                repo.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
            }
            else
            {
                repo.BestFitMode   = DevExpress.XtraEditors.Controls.BestFitMode.BestFit;
                repo.PopupFormSize = new System.Drawing.Size(700, 400);
            }
        }
예제 #2
0
        public static void InitDefaultColumns(String strTableName, ABCGridView view)
        {
            DataConfigProvider.TableConfig config = DataConfigProvider.TableConfigList[strTableName];

            SortedDictionary <String, ABCGridColumn> sortedListCols = new SortedDictionary <String, ABCGridColumn>();

            foreach (String strField in config.FieldConfigList.Keys)
            {
                if (config.FieldConfigList[strField].InUse && config.FieldConfigList[strField].IsDefault)
                {
                    ABCGridColumn gridCol = new ABCGridColumn();
                    gridCol.Name         = strField;
                    gridCol.TableName    = strTableName;
                    gridCol.FieldName    = strField;
                    gridCol.Caption      = DataConfigProvider.GetFieldCaption(strTableName, strField);
                    gridCol.Visible      = true;
                    gridCol.VisibleIndex = config.FieldConfigList[strField].SortOrder;

                    InitDefaultRepository(gridCol);

                    gridCol.InitFormat();

                    if (sortedListCols.ContainsKey(config.FieldConfigList[strField].SortOrder.ToString()) == false)
                    {
                        sortedListCols.Add(config.FieldConfigList[strField].SortOrder.ToString(), gridCol);
                    }
                    else
                    {
                        sortedListCols.Add(config.FieldConfigList[strField].SortOrder.ToString() + strField, gridCol);
                    }
                }
            }
            foreach (ABCGridColumn gridCol in sortedListCols.Values)
            {
                view.Columns.Add(gridCol);
            }

            foreach (ABCGridColumn gridCol in sortedListCols.Values)
            {
                if (config.FieldConfigList.ContainsKey(gridCol.FieldName) && config.FieldConfigList[gridCol.FieldName].IsGrouping)
                {
                    if (gridCol.FieldName != null && gridCol.FieldName.Contains(":"))
                    {
                        gridCol.GroupInterval = ColumnGroupInterval.DisplayText;
                    }
                    gridCol.Group();
                }
            }
        }
예제 #3
0
        public static ABCGridView GetDefaultGridView(String strTableName)
        {
            ABCGridView view;

            if (CachingGridViews.TryGetValue(strTableName, out view))
            {
                return(view);
            }

            view = new ABCGridView(strTableName);
            InitDefaultColumns(strTableName, view);
            CachingGridViews.Add(strTableName, view);

            return(view);
        }
예제 #4
0
 public override void Assign(RepositoryItem item)
 {
     BeginUpdate();
     try
     {
         base.Assign(item);
         ABCRepositoryGridLookupEdit source = item as ABCRepositoryGridLookupEdit;
         if (source == null)
         {
             return;
         }
         _OwnerGridView = source.OwnerGridView;
     }
     finally
     {
         EndUpdate();
     }
 }
예제 #5
0
 void ABCRepositoryGridLookupEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 {
     if (e.Button.Tag != null && e.Button.Tag.Equals("Link") && sender is ABCGridLookUpEdit)
     {
         if ((sender as ABCGridLookUpEdit).Parent is DevExpress.XtraGrid.GridControl)
         {
             DevExpress.XtraGrid.GridControl gridCtrl = (sender as ABCGridLookUpEdit).Parent as DevExpress.XtraGrid.GridControl;
             if (gridCtrl != null && gridCtrl.DefaultView != null)
             {
                 if (gridCtrl.DefaultView is ABCGridView)
                 {
                     ABCGridView view = gridCtrl.DefaultView as ABCGridView;
                     if (view != null)
                     {
                         view.RunFocusedLink();
                     }
                 }
                 if (gridCtrl.DefaultView is ABCGridBandedView)
                 {
                     ABCGridBandedView view = gridCtrl.DefaultView as ABCGridBandedView;
                     if (view != null)
                     {
                         view.RunFocusedLink();
                     }
                 }
             }
         }
         else if ((sender as ABCGridLookUpEdit).Parent is DevExpress.XtraVerticalGrid.VGridControl)
         {
             DevExpress.XtraVerticalGrid.VGridControl gridCtrl = (sender as ABCGridLookUpEdit).Parent as DevExpress.XtraVerticalGrid.VGridControl;
             if (gridCtrl != null && gridCtrl.Parent is ABCGridRowDetail)
             {
                 ABCGridRowDetail rowDetail = (ABCGridRowDetail)gridCtrl.Parent;
                 rowDetail.RunFocusedLink();
             }
         }
     }
 }