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; }
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); } }
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)); } } }
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); }
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; } } }
public void AddButtonsToList(RepositoryItemLookUpEditBase listObj) { AddButtonsToList(listObj.Buttons); listObj.ButtonClick += listObj_ButtonClick; // }
public void SetGridLookupEditDisplayMember(GridView gv, RepositoryItemLookUpEditBase Le, string DisplayMember) { SetGridLookupEditDisplayMember(gv, Le, DisplayMember, null, true); }
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); } } } }
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); }