internal static void InitializeLookUpEdit(this RepositoryItemLookUpEditBase lookUpEdit, object datasource, string displayNameber, string valueMember)
 {
     lookUpEdit.DisplayMember  = displayNameber;
     lookUpEdit.ValueMember    = valueMember;
     lookUpEdit.DataSource     = datasource;
     lookUpEdit.NullText       = string.Empty;
     lookUpEdit.TextEditStyle  = TextEditStyles.DisableTextEditor;
     lookUpEdit.ShowFooter     = false;
     lookUpEdit.AllowNullInput = DefaultBoolean.True;
 }
Beispiel #2
0
 public static void IntializeData(this RepositoryItemLookUpEditBase Repoo, object DataSource, GridColumn column, GridControl grid, string DisplayMember, string ValueMember)
 {
     if (Repoo == null)
     {
         Repoo = new RepositoryItemLookUpEdit();
     }
     Repoo.DataSource    = DataSource;
     Repoo.DisplayMember = DisplayMember;
     Repoo.ValueMember   = ValueMember;
     Repoo.NullText      = "";
     column.ColumnEdit   = Repoo;
     if (grid != null)
     {
         grid.RepositoryItems.Add(Repoo);
     }
 }
Beispiel #3
0
        private void SetGridLookupEditDisplayMember(GridView gv,
                                                    RepositoryItemLookUpEditBase Le, string DisplayMember,
                                                    IEntityCollection eColl, bool AlwaysSet)
        {
            GridColl FindGc = null;

            foreach (GridColl gc in ListGrid)
            {
                if (gc.gv == gv)
                {
                    FindGc = gc;
                    break;
                }
            }
            if (FindGc == null)
            {
                GridColl gc = new GridColl(gv, eColl, pe);
                if (Le != null)
                {
                    gc.SetLookupEditDisplayMember(Le, DisplayMember, AlwaysSet);
                }
                ListGrid.Add(gc);
                if (gv.LevelName.Length > 0)
                {
                    DictGrid[gv.LevelName] = ListGrid.Count - 1;
                }
                else if (eColl == null)
                {
                    DictGrid[((BindingSource)gv.GridControl.DataSource).DataMember] =
                        ListGrid.Count - 1;
                }
                else
                {
                    DictGrid[eColl.ChildName] = ListGrid.Count - 1;
                }
            }
            else if (Le != null)
            {
                FindGc.SetLookupEditDisplayMember(Le, DisplayMember, AlwaysSet);
            }
            if (FindGc != null && eColl != null)
            {
                FindGc.eColl = eColl;
            }
        }
        public void InitColumnsFromTable( )
        {
            foreach (String strField in DataStructureProvider.DataTablesList[TableName].ColumnsList.Keys)
            {
                if (!DataConfigProvider.TableConfigList[TableName].FieldConfigList.ContainsKey(strField))
                {
                    continue;
                }

                DataConfigProvider.FieldConfig config = DataConfigProvider.TableConfigList[TableName].FieldConfigList[strField];
                String strCaption = DataConfigProvider.GetFieldCaption(TableName, strField);

                if (config.TypeName == "DateTime" || config.TypeName == "Nullable<DateTime>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(DateTime), new RepositoryItemDateEdit(), FilterColumnClauseClass.DateTime));
                }
                if (config.TypeName == "int" || config.TypeName == "Nullable<int>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(int), new RepositoryItemSpinEdit(), FilterColumnClauseClass.Generic));
                }
                if (config.TypeName == "Guid" || config.TypeName == "Nullable<Guid>")
                {
                    if (DataStructureProvider.IsForeignKey(TableName, strField))
                    {
                        String strPKTableName             = DataStructureProvider.GetTableNameOfForeignKey(TableName, strField);
                        RepositoryItemLookUpEditBase repo = ABCControls.UICaching.GetDefaultRepository(strPKTableName, false);
                        repo.DataSource = DataCachingProvider.TryToGetDataView(strPKTableName, false);

                        this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(Guid), repo, FilterColumnClauseClass.Lookup));
                    }
                }
                if (config.TypeName == "String")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(String), new RepositoryItemTextEdit(), FilterColumnClauseClass.String));
                }
                if (config.TypeName == "double")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(double), new RepositoryItemTextEdit(), FilterColumnClauseClass.Generic));
                }
                if (config.TypeName == "bool" || config.TypeName == "Nullable<bool>")
                {
                    this.filterEditorControl1.FilterColumns.Add(new UnboundFilterColumn(strCaption, strField, typeof(bool), new RepositoryItemCheckEdit(), FilterColumnClauseClass.Generic));
                }
            }
        }
Beispiel #5
0
        void frmSingletonEntity_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
        {
            RepositoryItemLookUpEditBase rle =
                e.Column.ColumnEdit as RepositoryItemLookUpEditBase;

            if (rle == null)
            {
                return;
            }

            GridView          gv        = (GridView)sender;
            string            TableName = gv.LevelName;
            IEntityCollection eColl     = (IEntityCollection)gv.DataSource;

            GridColl gc = ListGrid[DictGrid[TableName]];

            gc.UpdateDisplayText(eColl, e);
        }
Beispiel #6
0
        void frmSingletonEntity_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
        {
            RepositoryItemLookUpEditBase rle =
                e.RepositoryItem as RepositoryItemLookUpEditBase;

            if (rle == null)
            {
                return;
            }

            BindingSource bs = (BindingSource)rle.DataSource;

            if (bs.DataMember.Length > 0)
            {
                Type         EntityType = bs.DataSource.GetType();
                PropertyInfo pi         = EntityType.GetProperty(bs.DataMember);
                if (pi != null)
                {
                    rle.Tag       = new TempEditing(pi, bs.DataSource);
                    bs.DataSource = pi.GetValue(bs.DataSource, null);
                }
                else
                {
                    FieldInfo fi = EntityType.GetField(bs.DataMember);
                    if (fi != null)
                    {
                        rle.Tag       = new TempEditing(fi, bs.DataSource);
                        bs.DataSource = fi.GetValue(bs.DataSource);
                    }
                }
                bs.DataMember = string.Empty;
            }
            else
            {
                TempEditing te = rle.Tag as TempEditing;
                if (te != null)
                {
                    bs.DataSource = te.ReQueryDataSource();
                }
            }
        }
            public xCol(GridColumn gcol,
                        RepositoryItemLookUpEditBase rle, TableDef td, Type ParentType)
            {
                this.rle = rle;
                if (td != null)
                {
                    fldDisplay = td[rle.DisplayMember] ?? td[gcol.FieldName];
                }

                if (fldDisplay == null)
                {
                    DisplayMember = rle.DisplayMember;
                }

                if (ParentType != null)
                {
                    GetSrcHandler = DynamicMethodCompiler.CreateGetHandler(
                        ParentType.GetMember(
                            ((BindingSource)rle.DataSource).DataMember)[0]);
                }
            }
 public void SetLookupEditDisplayMember(
     RepositoryItemLookUpEditBase le, string DisplayMember, bool AlwaysSet)
 {
     foreach (xCol xc in ListCols.Values)
     {
         if (object.ReferenceEquals(xc.rle, le))
         {
             if (AlwaysSet || xc.fldDisplay == null &&
                 DisplayMember.Length > 0)
             {
                 if (td != null)
                 {
                     xc.fldDisplay = td[DisplayMember];
                 }
                 if (xc.fldDisplay == null)
                 {
                     xc.DisplayMember = DisplayMember;
                 }
             }
             break;
         }
     }
 }
Beispiel #9
0
 public void AddButtonsToList(RepositoryItemLookUpEditBase listObj)
 {
     AddButtonsToList(listObj.Buttons);
     listObj.ButtonClick += listObj_ButtonClick;
     //
 }
Beispiel #10
0
 public void SetGridLookupEditDisplayMember(GridView gv,
                                            RepositoryItemLookUpEditBase Le, string DisplayMember)
 {
     SetGridLookupEditDisplayMember(gv, Le, DisplayMember,
                                    null, true);
 }
Beispiel #11
0
        private void FindGridAndLookup(Control.ControlCollection Ctrls)
        {
            foreach (Control Ctrl in Ctrls)
            {
                GridControl gc = Ctrl as GridControl;
                if (gc != null)
                {
                    BindingSource bs = gc.DataSource as BindingSource;
                    if (bs == null)
                    {
                        continue;
                    }
                    IEntityCollection ec = null;

                    string FieldName = bs.DataMember.Length > 0 ?
                                       bs.DataMember : gc.DataMember;

                    if (bs.DataSource.GetType() == typeof(BindingSource))
                    {
                        bs = (BindingSource)bs.DataSource;
                    }

                    if (FieldName.Length > 0)
                    {
                        Type         t  = bs.DataSource.GetType();
                        PropertyInfo pi = t.GetProperty(FieldName,
                                                        BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                        if (pi != null)
                        {
                            ec = pi.GetValue(bs.DataSource, null)
                                 as IEntityCollection;
                        }
                        else
                        {
                            FieldInfo fi = t.GetField(FieldName,
                                                      BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                            if (fi != null)
                            {
                                ec = fi.GetValue(bs.DataSource)
                                     as IEntityCollection;
                            }
                        }
                    }

                    if (ec == null)
                    {
                        continue;
                    }

                    if (gc.ViewCollection.Count > 0)
                    {
                        gc.ViewRegistered += new ViewOperationEventHandler(gc_ViewRegistered);
                        gc.KeyDown        += new KeyEventHandler(gc_KeyDown);
                    }
                    foreach (GridView gv in gc.ViewCollection)
                    {
                        if (gv.SourceView != null)
                        {
                            continue;
                        }

                        //SetGridLookupEditDisplayMember(gv, null,
                        //    string.Empty, ec, false);

                        gv.OptionsBehavior.AllowIncrementalSearch = true;

                        foreach (GridColumn gcl in gv.Columns)
                        {
                            RepositoryItemLookUpEditBase rle =
                                gcl.ColumnEdit as RepositoryItemLookUpEditBase;
                            if (rle != null)
                            {
                                SetGridLookupEditDisplayMember(gv,
                                                               null, string.Empty,
                                                               gv.LevelName.Length == 0 ? ec : null,
                                                               false);
                                break;
                            }

                            //if (rle != null)
                            //    SetGridLookupEditDisplayMember(gv, rle,
                            //        gcl.FieldName,
                            //        gv.LevelName.Length == 0 ? ec : null,
                            //        false);
                        }
                    }
                    foreach (RepositoryItem ri in gc.RepositoryItems)
                    {
                        RepositoryItemLookUpEditBase rle = ri as
                                                           RepositoryItemLookUpEditBase;
                        if (rle != null)
                        {
                            foreach (EditorButton b in rle.Buttons)
                            {
                                if (b.Kind == ButtonPredefines.Redo)
                                {
                                    rle.ButtonClick +=
                                        new ButtonPressedEventHandler(
                                            rle_ButtonClick);
                                    break;
                                }
                            }
                        }
                    }
                }
                else
                {
                    LookUpEdit le = Ctrl as LookUpEdit;
                    if (le != null)
                    {
                        string tag = le.Tag as string;

                        if (tag != null && tag
                            .IndexOf("SkipChangeToText",
                                     StringComparison.OrdinalIgnoreCase) >= 0)
                        {
                            continue;
                        }

                        SetLookupEditDisplayMember(le,
                                                   le.DataBindings["EditValue"]
                                                   .BindingMemberInfo.BindingField, false);

                        foreach (EditorButton b in le
                                 .Properties.Buttons)
                        {
                            if (b.Kind == ButtonPredefines.Redo)
                            {
                                le.ButtonClick +=
                                    new ButtonPressedEventHandler(
                                        Le_ButtonClick);
                                break;
                            }
                        }
                    }
                    else if (Ctrl.Controls.Count > 0)
                    {
                        FindGridAndLookup(Ctrl.Controls);
                    }
                }
            }
        }
Beispiel #12
0
 public static void IntializeData(this RepositoryItemLookUpEditBase Repoo, object DataSource, GridColumn column, GridControl grid)
 {
     IntializeData(Repoo, DataSource, column, grid, "name", "id");
 }
        public GridColl(GridView gv, IEntityCollection eColl,
                        BaseEntity Entity)
        {
            ListCols   = new Dictionary <int, xCol>();
            this.gv    = gv;
            this.eColl = eColl;
            Type ChildType = null;

            if (gv.LevelName.Length > 0)
            {
                foreach (GridColumn gcol in gv.Columns)
                {
                    RepositoryItemLookUpEditBase rle = gcol.ColumnEdit
                                                       as RepositoryItemLookUpEditBase;
                    if (rle != null)
                    {
                        gcol.SortMode   = ColumnSortMode.DisplayText;
                        gcol.FilterMode = ColumnFilterMode.DisplayText;
                        ListCols.Add(gcol.AbsoluteIndex,
                                     new xCol(gcol, rle, null, null));
                    }
                }
                return;
            }
            else if (eColl == null)
            {
                TableDef tdEntity  = MetaData.GetTableDef(Entity.GetType());
                string   ChildName = ((BindingSource)gv.GridControl.DataSource).DataMember;

                foreach (EntityCollDef ecd in tdEntity.ChildEntities)
                {
                    if (ecd.FieldName == ChildName)
                    {
                        ChildType = ecd.GetChildType();
                        break;
                    }
                }
            }
            else
            {
                ChildType = eColl.GetChildType();
            }

            gv.RowUpdated += new RowObjectEventHandler(gv_RowUpdated);

            td = MetaData.GetTableDef(ChildType);
            Type tp = Entity.GetType();

            foreach (GridColumn gcol in gv.Columns)
            {
                RepositoryItemLookUpEditBase rle = gcol.ColumnEdit
                                                   as RepositoryItemLookUpEditBase;
                if (rle != null)
                {
                    gcol.SortMode   = ColumnSortMode.DisplayText;
                    gcol.FilterMode = ColumnFilterMode.DisplayText;
                    ListCols.Add(gcol.AbsoluteIndex,
                                 new xCol(gcol, rle, td, tp));
                }
            }
            gv.CustomColumnDisplayText     += new CustomColumnDisplayTextEventHandler(gv_CustomColumnDisplayText);
            gv.CustomRowCellEditForEditing += new CustomRowCellEditEventHandler(gv_CustomRowCellEditForEditing);
        }