public override void InitializeEditingControl(int rowIndex, object
                                                      initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
        {
            base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
            Controls.DateControl  control = DataGridView.EditingControl as Controls.DateControl;
            NjitPersianDateColumn column  = (this.OwningColumn as NjitPersianDateColumn);

            foreach (var property in column.DateControl.GetType().GetProperties())
            {
                var attributes = property.GetCustomAttributes(typeof(System.ComponentModel.CategoryAttribute), true);
                if (attributes.Length == 1 && ((System.ComponentModel.CategoryAttribute)attributes[0]).Category == "Njit" && property.CanRead && property.CanWrite)
                {
                    property.SetValue(control, property.GetValue(column.DateControl, null), null);
                }
            }
            if (this.Value == null || this.Value == DBNull.Value)
            {
                control.Text = (this.OwningColumn as NjitPersianDateColumn).DefaultValue;
            }
            else
            {
                control.Text = this.Value.ToString();
            }
            DataGridView.CellValidating += DataGridViewCellValidating;
        }
Example #2
0
        public override object Clone()
        {
            NjitPersianDateColumn copy = base.Clone() as NjitPersianDateColumn;

            foreach (var property in copy.GetType().GetProperties())
            {
                var attributes = property.GetCustomAttributes(typeof(System.ComponentModel.CategoryAttribute), true);
                if (attributes.Length == 1 && ((System.ComponentModel.CategoryAttribute)attributes[0]).Category == "Njit" && property.CanRead && property.CanWrite)
                {
                    property.SetValue(copy, property.GetValue(this, null), null);
                }
            }
            return(copy);
        }