コード例 #1
0
        //要實現自定義屬性設計時的保存必須同時重寫Clone方法
        public override object Clone()
        {
            DataGridViewTimeColumn col = (DataGridViewTimeColumn)base.Clone();

            col.ShowUpDown = this.showUpDown;
            return(col);
        }
コード例 #2
0
        public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
        {
            base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);

            //
            //設定DateTimePicker特性
            //
            DataGridViewColumn dgvColumn = this.OwningColumn;

            if (dgvColumn is DataGridViewTimeColumn)
            {
                DataGridViewDateTimeEditingControl ctl = DataGridView.EditingControl as DataGridViewDateTimeEditingControl;
                if (ctl == null)
                {
                    return;
                }
                ctl.Value = DateTime.Parse((string)initialFormattedValue);
                DataGridViewTimeColumn dateTimeColumn = dgvColumn as DataGridViewTimeColumn;
                //
                //設定ShowUpDown
                //
                ctl.ShowUpDown = this.ShowUpDown;
                //
                //設定Format
                //
                switch (dateTimeColumn.DefaultCellStyle.Format)
                {
                case "d":
                    ctl.Format = DateTimePickerFormat.Short;
                    break;

                case "D":
                    ctl.Format = DateTimePickerFormat.Long;
                    break;

                case "f":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "yyyy年M月d日 tt hh:mm";
                    break;

                case "F":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "yyyy年M月d日 HH:mm:ss";
                    break;

                case "g":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "yyyy/MM/dd tt hh:mm";
                    break;

                case "G":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "yyyy/MM/dd HH:mm:ss";
                    break;

                case "t":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "tt hh:mm";
                    break;

                case "T":
                    ctl.Format       = DateTimePickerFormat.Time;
                    ctl.CustomFormat = "HH:mm:ss";
                    break;

                case "M":
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = "M月d日";
                    break;

                default:
                    ctl.Format       = DateTimePickerFormat.Custom;
                    ctl.CustomFormat = dateTimeColumn.DefaultCellStyle.Format;
                    break;
                }
            }
        }