Beispiel #1
0
        /// <summary>
        /// Определяет, показан ли для данной ячейки с заданным номером строки редактирующий контрол или нет
        /// Индеск строки необходим, потому что ячейка может быть общей для нескольких строк
        /// </summary>
        private bool OwnsEditingCalendar(int rowIndex)
        {
            if (rowIndex == -1 || DataGridView == null)
            {
                return(false);
            }
            DataGridViewCalendarEditingControl calendarEditingControl = DataGridView.EditingControl as DataGridViewCalendarEditingControl;

            return(calendarEditingControl != null && rowIndex == ((IDataGridViewEditingControl)calendarEditingControl).EditingControlRowIndex);
        }
Beispiel #2
0
        // Implements the
        // IDataGridViewEditingControl.ApplyCellStyleToEditingControl method.

        public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
        {
            // Set the value of the editing control to the current cell value.
            base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
            DataGridViewCalendarEditingControl ctl = DataGridView.EditingControl as DataGridViewCalendarEditingControl;

            // Use the default row value when Value property is null.
            if (ctl != null)
            {
                if (Value == null)
                {
                    ctl.Value = DefaultNewRowValue != null ? (DateTime)DefaultNewRowValue : DateTime.Now;
                }
                else
                {
                    ctl.Value = (DateTime)Value;
                }
            }
        }