A control for editing date and time values
Inheritance: System.Windows.Forms.DateTimePicker, IDataGridViewEditingControl
Esempio n. 1
0
        /// <summary>
        /// Initialises the editing control
        /// </summary>
        /// <param name="rowIndex">The row index number</param>
        /// <param name="initialFormattedValue">The initial value</param>
        /// <param name="dataGridViewCellStyle">The cell style</param>
        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);
            CalendarEditingControl ctl =
                DataGridView.EditingControl as CalendarEditingControl;

            if (this.Value == null)
            {
                if (ctl != null)
                {
                    ctl.Checked = false;
                }
            }
            else
            {
                if (this.Value.ToString() != "")
                {
                    if (ctl != null)
                    {
                        ctl.Value = DateTime.Parse(this.Value.ToString());
                    }
                }
            }
        }
 public void TestCalendarEditingControl_HasCorrectSettings()
 {
     //---------------Set up test pack-------------------
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     CalendarEditingControl editingControl = new CalendarEditingControl();
     //---------------Test Result -----------------------
     Assert.AreEqual(System.Windows.Forms.DateTimePickerFormat.Short, editingControl.Format);
     Assert.IsFalse(editingControl.RepositionEditingControlOnValueChange);
     Assert.AreEqual(0, editingControl.EditingControlRowIndex);
     Assert.IsNull(editingControl.EditingControlDataGridView);
     Assert.IsFalse(editingControl.EditingControlValueChanged);
 }
        public void TestCalendarEditingControl_EditingControlFormattedValue()
        {
            //---------------Set up test pack-------------------
            CalendarEditingControl editingControl = new CalendarEditingControl();
            //---------------Assert Precondition----------------
            Assert.AreEqual(DateTime.Now.ToShortDateString(), editingControl.EditingControlFormattedValue);
            //Assert.AreEqual(DateTime.Now.ToShortDateString(), editingControl.GetEditingControlFormattedValue(null));
            //---------------Execute Test ----------------------

            // REQUIRES A PARENT GRID FOR DIRTY NOTIFICATION, NOT WORTH THE TROUBLE?
            //DateTime dtValue = new DateTime(2006, 5, 1, 3, 2, 1);
            //editingControl.EditingControlFormattedValue = dtValue.ToString();
            ////---------------Test Result -----------------------
            //Assert.AreEqual("2006/05/01", editingControl.EditingControlFormattedValue);
        }