public void SetEntityEditor(ICrudDataSource <object> dataSource, ICrudEntityEditor <object> entityEditor, CrudCapabilities capabilities, object entity, bool isNewEntity) { _isNewEntity = isNewEntity; _entity = entity; _dataSource = dataSource; _crudEntityEditor = entityEditor; _capabilities = capabilities; var editorControl = entityEditor.AsControl(); var targetPanelWidth = editorControl.Width; var targetPanelHeight = editorControl.Height; var currentPanelWidth = _entityEditorControlPanel.Width; var currentPanelHeight = _entityEditorControlPanel.Height; this.Location = new Point(this.Location.X - (targetPanelWidth - currentPanelWidth) / 2, this.Location.Y - (targetPanelHeight - currentPanelHeight) / 2); this.Size = new Size(this.Width + (targetPanelWidth - currentPanelWidth), this.Height + (targetPanelHeight - currentPanelHeight)); editorControl.Dock = DockStyle.Fill; var canSave = (isNewEntity && _capabilities.HasFlag(CrudCapabilities.CanCreate)) || (!isNewEntity && _capabilities.HasFlag(CrudCapabilities.CanUpdate)); _entityEditorControlPanel.Controls.Add(editorControl); _deleteButton.Visible = _capabilities.HasFlag(CrudCapabilities.CanDelete) && !isNewEntity; _saveButton.Visible = canSave; if (!canSave) { _cancelButton.Text = "OK"; _cancelButton.Location = _saveButton.Location; } entityEditor.SetEntity(capabilities, entity, isNewEntity); }
public void SetEntity(CrudCapabilities capabilities, object entity, bool isNewEntity) { _crudCapabilities = capabilities; _entity = entity; _isNewEntity = isNewEntity; CreateBackup(); BindToPropertyGrid(); }
public CrudGrid() { try { _updating = true; _threadLock = new object(); InitializeComponent(); //BorderStyle = BorderStyle.None; _selectedEntity = null; _dataSource = null; _sortColumnIndex = 0; _sortColumnName = null; _sortDirection = SortDirection.Ascending; _pageSize = DefaultPageSize; _pageSizeUpDown.Minimum = 100; _pageSizeUpDown.Maximum = int.MaxValue; _pageSizeUpDown.Value = _pageSize; _autoPageSize = false; _pageNumber = 0; _endPageNumber = 0; _totalRecords = 0; _rowToEntityMap = new Dictionary <int, object>(); CalculateEntityToRowLookup(); _gridTitle = string.Empty; _crudCapabilities = CrudCapabilities.Default; _columnsBindings = new ICrudGridColumn[0]; _entityEditorAdapter = new CrudEntityEditorAdapter <object>(); _entityEditorType = typeof(DefaultCrudEntityEditor); _gridContainerPanel.Resize += new EventHandler(_gridContainerPanel_Resize); LeftClickToDeselect = false; RightClickForContextMenu = true; UseEntityReferenceForLookup = false; AutoSelectOnCreate = false; _refreshThrottle = new Throttle(TimeSpan.FromMilliseconds(250)); _grid.MinimumHeight = DefaultRowHeight; OrganizeLayout(); } finally { _updating = false; } }
public void SetCrudParameters <TEntity>(IEnumerable <ICrudGridColumn> gridBindings, Type entityEditorType, CrudCapabilities capabilities, ICrudDataSource <TEntity> dataSource, Size?size = null, bool autoPageSize = false) { try { if (entityEditorType != null) { _crudGrid.SetEntityEditor <TEntity>(entityEditorType); } _crudGrid.Capabilities = capabilities; //.ClearFlags(CrudCapabilities.CanDelete | CrudCapabilities.CanCreate); _crudGrid.GridBindings = gridBindings; _crudGrid.SetDataSource(dataSource); if (size != null) { _crudGrid.Size = size.Value; } _crudGrid.AutoPageSize = autoPageSize; _crudGrid.AutoSizeCells(); } catch (Exception error) { ExceptionDialog.Show(this, error); } }
public abstract void SetEntity(CrudCapabilities capabilities, object entity, bool isNewEntity);
public void SetCrudParameters <TEntity>(IEnumerable <ICrudGridColumn> gridBindings, Type entityEditorType, CrudCapabilities capabilities, ICrudDataSource <TEntity> dataSource) { var initializationAction = new Action(() => { try { if (entityEditorType != null) { _crudGrid.SetEntityEditor <TEntity>(entityEditorType); } _crudGrid.Capabilities = capabilities; _crudGrid.GridBindings = gridBindings; _crudGrid.SetDataSource(dataSource); } catch (Exception error) { ExceptionDialog.Show(this, error); } }); if (!IsHandleCreated) { _delayedInitializationAction = initializationAction; } else { initializationAction(); } }
public static void Show <TEntity>(IWin32Window window, string title, IEnumerable <ICrudGridColumn> gridBindings, Type entityEditorType, CrudCapabilities capabilities, ICrudDataSource <TEntity> dataSource) { var crudDialog = new CrudDialog(); crudDialog.Text = title; crudDialog.SetCrudParameters(gridBindings, entityEditorType, capabilities, dataSource); crudDialog.ShowDialog(window); }
public static void Show <TEntity>(string title, IEnumerable <ICrudGridColumn> gridBindings, Type entityEditorType, CrudCapabilities capabilities, ICrudDataSource <TEntity> dataSource) { Show(null, title, gridBindings, entityEditorType, capabilities, dataSource); }
public static void Show <TEntity>(IWin32Window window, string title, IEnumerable <ICrudGridColumn> gridBindings, CrudCapabilities capabilities, ICrudDataSource <TEntity> dataSource) { Show(window, title, gridBindings, typeof(DefaultCrudEntityEditor), capabilities, dataSource); }