Exemple #1
0
        public void AddColumn(CustomDataGridViewColumnDescriptor <T> columnDescriptor)
        {
            columnDescriptors.Add(columnDescriptor);
            DataGridViewColumn column = getColumnByType(columnDescriptor.Type);

            column.HeaderText   = columnDescriptor.Header;
            column.Width        = columnDescriptor.Width + columnDescriptor.DividerWidth;
            column.DividerWidth = columnDescriptor.DividerWidth;
            if (columnDescriptor.CellStyle != null)
            {
                column.DefaultCellStyle = columnDescriptor.CellStyle;
            }
            column.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft;
            Columns.Add(column);
        }
 public CustomDataGridViewColumnDescriptorBuilder <T> ExternalUpdateEventSubscriberMethod(CustomDataGridViewColumnDescriptor <T> .ExternalUpdateEventSubscriberMethodDelegate externalUpdateEventSubscriberMethod)
 {
     this.externalUpdateEventSubscriberMethod = externalUpdateEventSubscriberMethod;
     return(this);
 }
 public CustomDataGridViewColumnDescriptorBuilder <T> CellEndEditHandlerMethod(CustomDataGridViewColumnDescriptor <T> .CellEndEditHandlerMethodDelegate endEditHandlerMethod)
 {
     this.endEditHandlerMethod = endEditHandlerMethod;
     return(this);
 }
 public CustomDataGridViewColumnDescriptorBuilder <T> CellDoubleClickHandlerMethod(CustomDataGridViewColumnDescriptor <T> .CellDoubleClickHandlerMethodDelegate contentDoubleClickHandlerMethod)
 {
     this.doubleClickHandlerMethod = contentDoubleClickHandlerMethod;
     return(this);
 }
 public CustomDataGridViewColumnDescriptorBuilder <T> DropDownPopulatorMethod(CustomDataGridViewColumnDescriptor <T> .CellDropDownPopulatorMethodDelegate dropDownPopulatorMethod)
 {
     this.dropDownPopulatorMethod = dropDownPopulatorMethod;
     return(this);
 }
 public CustomDataGridViewColumnDescriptorBuilder <T> UpdaterMethod(CustomDataGridViewColumnDescriptor <T> .CellUpdaterMethodDelegate updaterMethod)
 {
     this.updaterMethod = updaterMethod;
     return(this);
 }
 public CustomDataGridViewColumnDescriptorBuilder <T> InitializerMethod(CustomDataGridViewColumnDescriptor <T> .CellInitializerMethodDelegate initializerMethod)
 {
     this.initializerMethod = initializerMethod;
     return(this);
 }
Exemple #8
0
        private DataGridViewCell createAndInitCell(CustomDataGridViewColumnDescriptor <T> columnDescriptor)
        {
            DataGridViewCell cell = getCellByType(columnDescriptor.Type);

            if (columnDescriptor.Type == DataGridViewColumnType.CheckBox)
            {
                DataGridViewCheckBoxCell typedCell = (DataGridViewCheckBoxCell)cell;
                typedCell.FalseValue = false;
                typedCell.TrueValue  = true;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.Image)
            {
                DataGridViewImageCell typedCell = (DataGridViewImageCell)cell;
                typedCell.ImageLayout     = DataGridViewImageCellLayout.Zoom;
                typedCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.ImageButton)
            {
                DataGridViewImageButtonCell typedCell = (DataGridViewImageButtonCell)cell;
                typedCell.Image        = columnDescriptor.ButtonImage;
                typedCell.ImagePadding = columnDescriptor.ButtonImagePadding;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.SmallIcon)
            {
                DataGridViewSmallIconCell typedCell = (DataGridViewSmallIconCell)cell;
                typedCell.IconShown   = columnDescriptor.IconShown;
                typedCell.IconColor   = columnDescriptor.IconColor;
                typedCell.IconType    = columnDescriptor.IconType;
                typedCell.IconPadding = columnDescriptor.IconPadding;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.Button)
            {
                cell.Value = columnDescriptor.ButtonText;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.DisableButton)
            {
                cell.Value = columnDescriptor.ButtonText;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.ComboBox)
            {
                DataGridViewComboBoxCell typedCell = (DataGridViewComboBoxCell)cell;
                typedCell.DisplayStyle  = DataGridViewComboBoxDisplayStyle.DropDownButton;
                typedCell.ValueMember   = "Value";
                typedCell.DisplayMember = "Label";
                typedCell.Items.AddRange(columnDescriptor.DropDownPopulatorMethod?.Invoke(item, cell));
            }

            Cells.Add(cell);

            if (columnDescriptor.Type == DataGridViewColumnType.TextBox)
            {
                cell.ReadOnly = !columnDescriptor.TextEditable;
            }

            if (columnDescriptor.Type == DataGridViewColumnType.SmallIcon)
            {
                cell.ReadOnly = true;
            }

            columnDescriptor.InitializerMethod?.Invoke(item, cell);
            columnDescriptor.UpdaterMethod?.Invoke(item, cell);

            return(cell);
        }